# -*- coding: utf-8  -*-
import config, urllib, re
from datetime import timedelta, datetime

__version__='$Id: family.py 7724 2009-12-01 08:02:38Z xqt $'

# Parent class for all wiki families

class Family:
    def __init__(self):
        self.name = None
            # Updated from http://meta.wikimedia.org/wiki/Interwiki_sorting_order
        self.alphabetic = [
            'ace', 'af', 'ak', 'als', 'am', 'ang', 'ab', 'ar', 'an', 'arc',
            'roa-rup', 'frp', 'as', 'ast', 'gn', 'av', 'ay', 'az', 'bm', 'bn',
            'zh-min-nan', 'nan', 'map-bms', 'ba', 'be', 'be-x-old', 'bh', 'bcl',
            'bi', 'bar', 'bo', 'bs', 'br', 'bg', 'bxr', 'ca', 'cv', 'ceb', 'cs',
            'ch', 'cbk-zam', 'ny', 'sn', 'tum', 'cho', 'co', 'cy', 'da', 'dk',
            'pdc', 'de', 'dv', 'nv', 'dsb', 'dz', 'mh', 'et', 'el', 'eml', 'en',
            'myv', 'es', 'eo', 'ext', 'eu', 'ee', 'fa', 'hif', 'fo', 'fr', 'fy',
            'ff', 'fur', 'ga', 'gv', 'gd', 'gl', 'gan', 'ki', 'glk', 'gu',
            'got', 'hak', 'xal', 'ko', 'ha', 'haw', 'hy', 'hi', 'ho', 'hsb',
            'hr', 'io', 'ig', 'ilo', 'bpy', 'id', 'ia', 'ie', 'iu', 'ik', 'os',
            'xh', 'zu', 'is', 'it', 'he', 'jv', 'kl', 'kn', 'kr', 'pam', 'ka',
            'ks', 'csb', 'kk', 'kw', 'rw', 'ky', 'rn', 'sw', 'kv', 'kg', 'ht',
            'ku', 'kj', 'lad', 'lbe', 'lo', 'la', 'lv', 'lb', 'lt', 'lij', 'li',
            'ln', 'jbo', 'lg', 'lmo', 'hu', 'mk', 'mg', 'ml', 'mt', 'mi', 'mr',
            'arz', 'mzn', 'ms', 'cdo', 'mwl', 'mdf', 'mo', 'mn', 'mus', 'my',
            'nah', 'na', 'fj', 'nl', 'nds-nl', 'cr', 'ne', 'new', 'ja', 'nap',
            'ce', 'pih', 'no', 'nb', 'nn', 'nrm', 'nov', 'ii', 'oc', 'mhr',
            'or', 'om', 'ng', 'hz', 'uz', 'pa', 'pi', 'pag', 'pnb', 'pap', 'ps',
            'km', 'pms', 'tpi', 'nds', 'pl', 'tokipona', 'tp', 'pnt', 'pt',
            'aa', 'kaa', 'crh', 'ty', 'ksh', 'ro', 'rmy', 'rm', 'qu', 'ru',
            'sah', 'se', 'sm', 'sa', 'sg', 'sc', 'sco', 'stq', 'st', 'tn', 'sq',
            'scn', 'si', 'simple', 'sd', 'ss', 'sk', 'cu', 'sl', 'szl', 'so',
            'ckb', 'srn', 'sr', 'sh', 'su', 'fi', 'sv', 'tl', 'ta', 'kab',
            'roa-tara', 'tt', 'te', 'tet', 'th', 'ti', 'tg', 'to', 'chr', 'chy',
            've', 'tr', 'tk', 'tw', 'udm', 'bug', 'uk', 'ur', 'ug', 'za', 'vec',
            'vi', 'vo', 'fiu-vro', 'wa', 'zh-classical', 'vls', 'war', 'wo',
            'wuu', 'ts', 'yi', 'yo', 'zh-yue', 'diq', 'zea', 'bat-smg', 'zh',
            'zh-tw', 'zh-cn'
        ]

        self.langs = {}

        # The timedelta to GMT of the server.
        # Exemple for a server running CET :
        # timedelta(hours=+1)
        self.servergmtoffset = timedelta()

        # Translation used on all wikis for the different namespaces.
        # (Please sort languages alphabetically)
        # You only need to enter translations that differ from _default.
        self.namespaces = {
            -2: {
                '_default': u'Media',
                'ab': u'Медиа',
                'am': u'ፋይል',
                'ar': u'ميديا',
                'arc': u'ܡܝܕܝܐ',
                'arz': u'ميديا',
                'as': u'মাধ্যম',
                'av': u'Медиа',
                'az': [u'Media', u'Mediya'],
                'ba': u'Медиа',
                'bat-smg': [u'Medėjė', u'Medeje', u'Medija'],
                'bcl': u'Medio',
                'be': u'Мультымедыя',
                'be-x-old': u'Мэдыя',
                'bg': u'Медия',
                'bm': u'Média',
                'bn': [u'মিডিয়া', u'Média'],
                'bpy': u'মিডিয়া',
                'bs': [u'Mediji', u'Medija'],
                'ce': u'Медйа',
                'ceb': u'Medya',
                'ckb': u'میدیا',
                'crh': [u'Media', u'Медиа'],
                'cs': u'Média',
                'cu': u'Срѣ́дьства',
                'cv': u'Медиа',
                'dsb': u'Medija',
                'el': [u'Μέσο', u'Μέσον'],
                'et': u'Meedia',
                'fa': u'مدیا',
                'ff': u'Média',
                'fiu-vro': u'Meediä',
                'fo': u'Miðil',
                'fr': u'Média',
                'frp': u'Mèdia',
                'ga': u'Meán',
                'gan': u'Media',
                'glk': u'مدیا',
                'gu': u'દ્રશ્ય-શ્રાવ્ય (મિડિયા)',
                'gv': u'Meanyn',
                'haw': u'Pāpaho',
                'he': u'מדיה',
                'hi': u'मीडिया',
                'hr': u'Mediji',
                'ht': u'Medya',
                'hu': u'Média',
                'hy': u'Մեդիա',
                'is': u'Miðill',
                'ja': u'メディア',
                'ka': u'მედია',
                'kaa': u'Media',
                'kk': u'Таспа',
                'km': u'មេឌា',
                'kn': u'ಮೀಡಿಯ',
                'ko': u'미디어',
                'ksh': [u'Medie', u'Meedije'],
                'ku': u'Medya',
                'kv': u'Медиа',
                'lbe': u'Медиа',
                'ln': u'Média',
                'lo': [u'ສື່', u'ສື່ອ'],
                'lt': u'Medija',
                'mdf': u'Медиа',
                'mg': u'Rakitra',
                'mhr': u'Медиа',
                'mk': u'Медија',
                'ml': u'മീഡിയ',
                'mn': u'Медиа',
                'mr': u'मिडिया',
                'mt': u'Medja',
                'myv': u'Медия',
                'mzn': [u'مه‌دیا', u'مدیا'],
                'nah': u'Mēdiatl',
                'new': u'माध्यम',
                'nn': u'Filpeikar',
                'no': u'Medium',
                'oc': u'Mèdia',
                'pa': u'ਮੀਡੀਆ',
                'pnt': u'Μέσον',
                'ps': u'رسنۍ',
                'qu': u'Midya',
                'rmy': u'Mediya',
                'ru': u'Медиа',
                'sa': u'माध्यम',
                'sah': u'Медиа',
                'scn': u'Mèdia',
                'sd': u'ذريعات',
                'sg': u'Média',
                'si': u'මාධ්‍යය',
                'sk': u'Médiá',
                'sl': u'Datoteka',
                'sr': u'Медија',
                'su': u'Média',
                'sw': u'Faili',
                'ta': u'ஊடகம்',
                'te': u'మీడియా',
                'tg': u'Медиа',
                'th': u'สื่อ',
                'tl': u'Midya',
                'tlh': u'Doch',
                'tr': u'Medya',
                'tt': u'Медиа',
                'ty': u'Média',
                'udm': u'Медиа',
                'uk': u'Медіа',
                'ur': u'زریعہ',
                'vi': u'Phương tiện',
                'vo': u'Nünamakanäd',
                'wo': u'Xibaarukaay',
                'wuu': u'媒体',
                'xal': u'Аһар',
                'yi': u'מעדיע',
                'yo': u'Amóhùnmáwòrán',
                'za': u'媒体',
                'zh': [u'Media', u'媒体', u'媒體'],
            },
            -1: {
                '_default': u'Special',
                'ab': u'Служебная',
                'ace': u'Istimewa',
                'af': u'Spesiaal',
                'als': u'Spezial',
                'am': u'ልዩ',
                'an': u'Espezial',
                'ang': u'Syndrig',
                'ar': u'خاص',
                'arc': u'ܕܝܠܢܝܐ',
                'arz': u'خاص',
                'as': [u'বিশেষ', u'विशेष'],
                'ast': u'Especial',
                'av': u'Служебная',
                'ay': u'Especial',
                'az': u'Xüsusi',
                'ba': u'Ярҙамсы',
                'bar': u'Spezial',
                'bat-smg': u'Specēlos',
                'bcl': u'Espesyal',
                'be': u'Адмысловае',
                'be-x-old': u'Спэцыяльныя',
                'bg': u'Специални',
                'bm': u'Spécial',
                'bn': u'বিশেষ',
                'bpy': u'বিশেষ',
                'br': u'Dibar',
                'bs': u'Posebno',
                'bug': u'Istimewa',
                'ca': u'Especial',
                'cbk-zam': u'Especial',
                'ce': u'Башхо',
                'ceb': u'Espesyal',
                'ch': u'Espesiat',
                'ckb': u'تایبەت',
                'crh': [u'Mahsus', u'Махсус'],
                'cs': u'Speciální',
                'csb': u'Specjalnô',
                'cu': [u'Наро́чьна', u'Нарочьна'],
                'cv': u'Ятарлă',
                'cy': u'Arbennig',
                'da': u'Speciel',
                'de': u'Spezial',
                'dsb': u'Specialne',
                'dv': u'ހާއްޞަ',
                'el': u'Ειδικό',
                'eml': u'Speciale',
                'eo': u'Speciala',
                'es': u'Especial',
                'et': u'Eri',
                'eu': [u'Berezi', u'Aparteko'],
                'fa': u'ویژه',
                'ff': u'Spécial',
                'fi': u'Toiminnot',
                'fiu-vro': u'Tallituslehekülg',
                'fo': [u'Serstakt', u'Serstakur'],
                'fr': u'Spécial',
                'frp': u'Spèciâl',
                'fur': u'Speciâl',
                'fy': u'Wiki',
                'ga': u'Speisialta',
                'gan': u'Special',
                'gl': u'Especial',
                'glk': u'ویژه',
                'gn': u"Mba'echĩchĩ",
                'gu': u'વિશેષ',
                'gv': u'Er lheh',
                'haw': u'Papa nui',
                'he': u'מיוחד',
                'hi': u'विशेष',
                'hr': u'Posebno',
                'hsb': u'Specialnje',
                'ht': u'Espesyal',
                'hu': u'Speciális',
                'hy': u'Սպասարկող',
                'id': u'Istimewa',
                'io': u'Specala',
                'is': u'Kerfissíða',
                'it': u'Speciale',
                'ja': u'特別',
                'jv': u'Astamiwa',
                'ka': u'სპეციალური',
                'kaa': u'Arnawlı',
                'kab': u'Uslig',
                'kk': u'Арнайы',
                'kl': [u'Immikkut', u'Speciel'],
                'km': u'ពិសេស',
                'kn': u'ವಿಶೇಷ',
                'ko': u'특수기능',
                'ksh': [u'Spezial', u'Shpezjal'],
                'ku': u'Taybet',
                'kv': u'Служебная',
                'kw': [u'Arbennek', u'Arbednek'],
                'la': u'Specialis',
                'lad': u'Especial',
                'lb': u'Spezial',
                'lbe': u'Къуллугъирал лажин',
                'li': u'Speciaal',
                'lij': [u'Speçiale', u'Speciale'],
                'lmo': [u'Special', u'Speciale'],
                'ln': u'Spécial',
                'lo': u'ພິເສດ',
                'lt': u'Specialus',
                'map-bms': u'Astamiwa',
                'mdf': u'Башка',
                'mg': u'Manokana',
                'mhr': [u'Лӱмын ыштыме', u'Служебная'],
                'mk': u'Специјални',
                'ml': u'പ്രത്യേകം',
                'mn': u'Тусгай',
                'mr': u'विशेष',
                'ms': u'Khas',
                'mt': [u'Speċjali', u'Specjali'],
                'myv': u'Башка тевень',
                'mzn': [u'شا', u'ویژه'],
                'nah': [u'Nōncuahquīzqui', u'Especial'],
                'nap': [u'Speciàle', u'Speciale'],
                'nds': u'Spezial',
                'nds-nl': u'Speciaal',
                'new': u'विशेष',
                'nl': u'Speciaal',
                'nn': u'Spesial',
                'no': u'Spesial',
                'oc': u'Especial',
                'os': u'Сæрмагонд',
                'pa': u'ਖਾਸ',
                'pdc': u'Spezial',
                'pl': u'Specjalna',
                'pnt': u'Ειδικόν',
                'ps': u'ځانګړی',
                'pt': u'Especial',
                'qu': u'Sapaq',
                'rmy': u'Uzalutno',
                'ru': u'Служебная',
                'sa': u'विशेष',
                'sah': u'Аналлаах',
                'sc': u'Ispetziale',
                'scn': u'Spiciali',
                'sd': u'خاص',
                'sg': u'Spécial',
                'si': u'විශේෂ',
                'sk': u'Špeciálne',
                'sl': u'Posebno',
                'sq': u'Speciale',
                'sr': u'Посебно',
                'srn': [u'Spesyal', u'Speciaal'],
                'stq': u'Spezial',
                'su': u'Husus',
                'sw': u'Maalum',
                'szl': u'Specjalna',
                'ta': u'சிறப்பு',
                'te': u'ప్రత్యేక',
                'tet': u'Espesiál',
                'tg': u'Вижа',
                'th': u'พิเศษ',
                'tk': u'Ýörite',
                'tl': u'Natatangi',
                'tlh': u"le'",
                'tr': u'Özel',
                'tt': [u'Махсус', u'Maxsus'],
                'ty': u'Spécial',
                'udm': u'Панель',
                'uk': u'Спеціальна',
                'ur': u'خاص',
                'uz': u'Maxsus',
                'vec': u'Speciale',
                'vi': u'Đặc biệt',
                'vls': u'Specioal',
                'vo': u'Patikos',
                'wa': u'Sipeciås',
                'wo': u'Jagleel',
                'wuu': u'特殊',
                'xal': u'Көдлхнə',
                'yi': u'באַזונדער',
                'yo': u'Pàtàkì',
                'za': u'特殊',
                'zea': u'Speciaol',
                'zh': [u'Special', u'特殊'],
            },
            0: {
                '_default': None,
            },
            1: {
                '_default': u'Talk',
                'ab': u'Обсуждение',
                'ace': u'Pembicaraan',
                'af': u'Bespreking',
                'als': u'Diskussion',
                'am': u'ውይይት',
                'an': u'Descusión',
                'ang': u'Gesprec',
                'ar': u'نقاش',
                'arc': u'ܡܡܠܠܐ',
                'arz': u'نقاش',
                'as': [u'বার্তা', u'वार्ता'],
                'ast': u'Alderique',
                'av': u'Обсуждение',
                'ay': u'Discusión',
                'az': u'Müzakirə',
                'ba': u'Фекер алышыу',
                'bar': u'Diskussion',
                'bat-smg': u'Aptarėms',
                'bcl': u'Olay',
                'be': u'Размовы',
                'be-x-old': u'Абмеркаваньне',
                'bg': u'Беседа',
                'bm': u'Discussion',
                'bn': u'আলাপ',
                'bpy': u'য়্যারী',
                'br': u'Kaozeal',
                'bs': u'Razgovor',
                'bug': u'Pembicaraan',
                'ca': u'Discussió',
                'cbk-zam': u'Discusión',
                'ce': u'Дийца',
                'ceb': u'Hisgot',
                'ch': u'Kombetsasion',
                'ckb': u'لێدوان',
                'crh': [u'Muzakere', u'Музакере'],
                'cs': u'Diskuse',
                'csb': u'Diskùsëjô',
                'cu': u'Бєсѣ́да',
                'cv': u'Сӳтсе явасси',
                'cy': u'Sgwrs',
                'da': u'Diskussion',
                'de': u'Diskussion',
                'dsb': u'Diskusija',
                'dv': u'ޚިޔާލު',
                'el': u'Συζήτηση',
                'eml': u'Discussione',
                'eo': u'Diskuto',
                'es': u'Discusión',
                'et': u'Arutelu',
                'eu': u'Eztabaida',
                'fa': u'بحث',
                'ff': u'Discussion',
                'fi': u'Keskustelu',
                'fiu-vro': u'Arotus',
                'fo': u'Kjak',
                'fr': u'Discussion',
                'frp': u'Discussion',
                'fur': u'Discussion',
                'fy': u'Oerlis',
                'ga': u'Plé',
                'gan': u'Talk',
                'gl': u'Conversa',
                'glk': u'بحث',
                'gn': u'Myangekõi',
                'gu': u'ચર્ચા',
                'gv': u'Resooney',
                'haw': u'Kūkākūkā',
                'he': u'שיחה',
                'hi': u'वार्ता',
                'hr': u'Razgovor',
                'hsb': u'Diskusija',
                'ht': u'Diskite',
                'hu': u'Vita',
                'hy': u'Քննարկում',
                'ia': u'Discussion',
                'id': [u'Pembicaraan', u'Bicara'],
                'io': u'Debato',
                'is': u'Spjall',
                'it': u'Discussione',
                'ja': u'ノート',
                'jv': u'Dhiskusi',
                'ka': u'განხილვა',
                'kaa': u"Sa'wbet",
                'kab': u'Mmeslay',
                'kk': u'Талқылау',
                'kl': [u'Oqallinneq', u'Diskussion'],
                'km': u'ការពិភាក្សា',
                'kn': u'ಚರ್ಚೆಪುಟ',
                'ko': u'토론',
                'ksh': u'Klaaf',
                'ku': u'Nîqaş',
                'kv': u'Обсуждение',
                'kw': [u'Kescows', u'Cows'],
                'la': u'Disputatio',
                'lad': u'Discusión',
                'lb': u'Diskussioun',
                'lbe': u'Ихтилат',
                'li': u'Euverlèk',
                'lij': [u'Discûscion', u'Discussione'],
                'lmo': [u'Ciciarada', u'Discussione'],
                'ln': u'Discussion',
                'lo': u'ສົນທະນາ',
                'lt': u'Aptarimas',
                'lv': u'Diskusija',
                'map-bms': u'Dhiskusi',
                'mdf': u'Корхнема',
                'mg': [u'Dinika', u'Discuter'],
                'mhr': [u'Каҥашымаш', u'Обсуждение'],
                'mk': u'Разговор',
                'ml': u'സംവാദം',
                'mn': u'Хэлэлцүүлэг',
                'mr': u'चर्चा',
                'ms': u'Perbincangan',
                'mt': u'Diskussjoni',
                'mwl': u'Cumbersa',
                'myv': u'Кортамо',
                'mzn': [u'گپ', u'بحث'],
                'nah': [u'Tēixnāmiquiliztli', u'Discusión'],
                'nap': [u'Chiàcchiera', u'Discussione'],
                'nds': u'Diskuschoon',
                'nds-nl': u'Overleg',
                'new': u'खँलाबँला',
                'nl': u'Overleg',
                'nn': u'Diskusjon',
                'no': u'Diskusjon',
                'nv': u"Naaltsoos baa yinísht'į́",
                'oc': u'Discutir',
                'os': u'Дискусси',
                'pa': u'ਚਰਚਾ',
                'pdc': u'Diskussion',
                'pl': u'Dyskusja',
                'pms': u'Discussion',
                'pnt': u'Καλάτσεμαν',
                'ps': u'خبرې اترې',
                'pt': u'Discussão',
                'qu': u'Rimanakuy',
                'rmy': [u'Vakyarimata', u'Discuţie'],
                'ro': u'Discuţie',
                'ru': u'Обсуждение',
                'sa': u'संभाषणं',
                'sah': u'Ырытыы',
                'sc': u'Cuntierra',
                'scn': u'Discussioni',
                'sd': u'بحث',
                'sg': u'Discussion',
                'si': u'සාකච්ඡාව',
                'sk': u'Diskusia',
                'sl': u'Pogovor',
                'sq': u'Diskutim',
                'sr': u'Разговор',
                'srn': [u'Taki',  u'Overleg'],
                'stq': u'Diskussion',
                'su': u'Obrolan',
                'sv': u'Diskussion',
                'sw': u'Majadiliano',
                'szl': u'Dyskusja',
                'ta': u'பேச்சு',
                'te': u'చర్చ',
                'tet': u'Diskusaun',
                'tg': u'Баҳс',
                'th': u'พูดคุย',
                'tk': u'Çekişme',
                'tl': u'Usapan',
                'tlh': u"ja'chuq",
                'tr': u'Tartışma',
                'tt': [u'Фикер алышу', u'Bäxäs'],
                'ty': u'Discussion',
                'udm': u'Вераськон',
                'uk': u'Обговорення',
                'ur': u'تبادلۂ خیال',
                'uz': u'Munozara',
                'vec': u'Discussion',
                'vi': u'Thảo luận',
                'vls': u'Discuusje',
                'vo': u'Bespik',
                'wa': u'Copene',
                'wo': [u'Waxtaan', u'Discuter'],
                'wuu': u'讨论',
                'xal': u'Ухалвр',
                'yi': u'רעדן',
                'yo': u'Ọ̀rọ̀',
                'za': u'讨论',
                'zea': u'Overleg',
                'zh': [u'Talk', u'讨论', u'討論', u'对话', u'對話'],
            },
            2: {
                '_default': u'User',
                'ab': u'Участник',
                'ace': u'Pengguna',
                'af': u'Gebruiker',
                'als': u'Benutzer',
                'am': u'አባል',
                'an': u'Usuario',
                'ar': u'مستخدم',
                'arc': u'ܡܬܚܫܚܢܐ',
                'arz': u'مستخدم',
                'as': [u'সদস্য', u'सदस्य'],
                'ast': u'Usuariu',
                'av': u'Участник',
                'ay': u'Usuario',
                'az': u'İstifadəçi',
                'ba': u'Ҡатнашыусы',
                'bar': u'Benutzer',
                'bat-smg': [u'Nauduotuos', u'Naudotojas'],
                'bcl': u'Paragamit',
                'be': u'Удзельнік',
                'be-x-old': u'Удзельнік',
                'bg': u'Потребител',
                'bm': u'Utilisateur',
                'bn': u'ব\u09cdযবহারকারী',
                'bpy': u'আতাকুরা',
                'br': u'Implijer',
                'bs': u'Korisnik',
                'bug': u'Pengguna',
                'ca': u'Usuari',
                'cbk-zam': u'Usuario',
                'ce': u'Юзер',
                'ceb': u'Gumagamit',
                'ch': u'Muna\'sesetbi',
                'ckb': u'بەکارھێنەر',
                'crh': [u'Qullanıcı', u'Къулланыджы'],
                'cs': u'Uživatel',
                'csb': u'Brëkòwnik',
                'cu': u'По́льꙃєватєл҄ь',
                'cv': u'Хутшăнакан',
                'cy': u'Defnyddiwr',
                'da': u'Bruger',
                'de': u'Benutzer',
                'dsb': u'Wužywaŕ',
                'dv': u'މެމްބަރު',
                'el': u'Χρήστης',
                'eml': u'Utente',
                'eo': u'Vikipediisto',
                'es': u'Usuario',
                'et': u'Kasutaja',
                'eu': u'Lankide',
                'fa': u'کاربر',
                'ff': u'Utilisateur',
                'fi': u'Käyttäjä',
                'fiu-vro': u'Pruukja',
                'fo': u'Brúkari',
                'fr': u'Utilisateur',
                'frp': u'Utilisator',
                'fur': u'Utent',
                'fy': u'Meidogger',
                'ga': u'Úsáideoir',
                'gan': u'User',
                'gl': u'Usuario',
                'glk': u'کاربر',
                'gn': u'Puruhára',
                'gu': u'સભ્ય',
                'gv': u'Ymmydeyr',
                'haw': u'Mea hoʻohana',
                'he': u'משתמש',
                'hi': u'सदस्य',
                'hr': u'Suradnik',
                'hsb': u'Wužiwar',
                'ht': u'Itilizatè',
                'hu': u'Szerkesztő',
                'hy': u'Մասնակից',
                'ia': u'Usator',
                'id': u'Pengguna',
                'io': u'Uzanto',
                'is': u'Notandi',
                'it': u'Utente',
                'ja': u'利用者',
                'jv': u'Panganggo',
                'ka': u'მომხმარებელი',
                'kaa': u'Paydalanıwshı',
                'kab': u'Amseqdac',
                'kk': u'Қатысушы',
                'kl': [u'Atuisoq', u'Bruger'],
                'km': u'អ្នកប្រើប្រាស់',
                'kn': u'ಸದಸ್ಯ',
                'ko': u'사용자',
                'ksh': [u'Metmaacher', u'Medmaacher'],
                'ku': u'Bikarhêner',
                'kv': u'Участник',
                'kw': u'Devnydhyer',
                'la': u'Usor',
                'lad': u'Usuario',
                'lb': u'Benotzer',
                'lbe': u'Гьуртту хьума',
                'li': u'Gebroeker',
                'lij': u'Utente',
                'lmo': [u'Druvat', u'Utente'],
                'ln': u'Utilisateur',
                'lo': u'ຜູ້ໃຊ້',
                'lt': u'Naudotojas',
                'lv': u'Lietotājs',
                'map-bms': u'Panganggo',
                'mdf': u'Тиись',
                'mg': [u'Mpikambana', u'Utilisateur'],
                'mhr': [u'Пайдаланыше', u'Участник'],
                'mk': u'Корисник',
                'ml': u'ഉപയോക്താവ്',
                'mn': u'Хэрэглэгч',
                'mr': u'सदस्य',
                'ms': u'Pengguna',
                'mt': u'Utent',
                'mwl': u'Outelizador',
                'myv': u'Теиця',
                'mzn': [u'کارور', u'کاربر'],
                'nah': [u'Tlatequitiltilīlli', u'Usuario'],
                'nap': u'Utente',
                'nds': u'Bruker',
                'nds-nl': u'Gebruker',
                'new': u'छ्येलेमि',
                'nl': u'Gebruiker',
                'nn': u'Brukar',
                'no': u'Bruker',
                'nv': u"Choinish'įįhí",
                'oc': u'Utilizaire',
                'os': u'Архайæг',
                'pa': u'ਮੈਂਬਰ',
                'pdc': u'Benutzer',
                'pl': u'Użytkownik',
                'pms': u'Utent',
                'pnt': u'Χρήστες',
                'ps': [u'کارن', u'کارونکی'],
                'pt': u'Usuário',
                'qu': u'Ruraq',
                'rmy': [u'Jeno', u'Utilizator'],
                'ro': u'Utilizator',
                'ru': u'Участник',
                'sa': u'योजकः',
                'sah': u'Кыттааччы',
                'sc': u'Usuàriu',
                'scn': u'Utenti',
                'sd': u'يوزر',
                'sg': u'Utilisateur',
                'sh': u'Korisnik',
                'si': u'පරිශීලක',
                'sk': u'Redaktor',
                'sl': u'Uporabnik',
                'sq': u'Përdoruesi',
                'sr': u'Корисник',
                'srn': [u'Masyin', u'Gebruiker'],
                'stq': u'Benutser',
                'su': u'Pamaké',
                'sv': u'Användare',
                'sw': u'Mtumiaji',
                'szl': u'Użytkownik',
                'ta': u'பயனர்',
                'te': [u'వాడుకరి', u'సభ్యులు', u'సభ్యుడు'],
                'tet': u'Uza-na\'in',
                'tg': u'Корбар',
                'th': u'ผู้ใช' + u'\u0e49',
                'tk': u'Ulanyjy',
                'tl': u'Tagagamit',
                'tlh': u"lo'wI'",
                'tr': u'Kullanıcı',
                'tt': [u'Кулланучы', u'Äğzä'],
                'ty': u'Utilisateur',
                'udm': u'Викиавтор',
                'uk': u'Користувач',
                'ur': u'صارف',
                'uz': u'Foydalanuvchi',
                'vec': u'Utente',
                'vi': u'Thành viên',
                'vls': u'Gebruker',
                'vo': u'Geban',
                'wa': u'Uzeu',
                'wo': [u'Jëfandikukat', u'Utilisateur'],
                'wuu': u'用户',
                'xal': u'Орлцач',
                'yi': u'באַניצער',
                'yo': u'Oníṣe',
                'za': u'用户',
                'zea': u'Gebruker',
                'zh': [u'User', u'用户', u'用戶'],
            },
            3: {
                '_default': u'User talk',
                'ab': u'Обсуждение участника',
                'ace': u'Pembicaraan Pengguna',
                'af': u'Gebruikerbespreking',
                'als': u'Benutzer Diskussion',
                'am': u'አባል ውይይት',
                'an': u'Descusión usuario',
                'ar': u'نقاش المستخدم',
                'arc': u'ܡܡܠܠܐ ܕܡܬܚܫܚܢܐ',
                'arz': u'نقاش المستخدم',
                'as': [u'সদস্য বার্তা', u'सदस्य वार्ता'],
                'ast': u'Usuariu alderique',
                'av': u'Обсуждение участника',
                'ay': u'Usuario Discusión',
                'az': u'İstifadəçi müzakirəsi',
                'ba': u'Ҡатнашыусы м-н фекер алышыу',
                'bar': u'Benutzer Diskussion',
                'bat-smg': u'Nauduotuojė aptarėms',
                'bcl': u'Olay kan paragamit',
                'be': u'Размовы з удзельнікам',
                'be-x-old': u'Гутаркі ўдзельніка',
                'bg': u'Потребител беседа',
                'bm': u'Discussion utilisateur',
                'bn': u'ব্যবহারকারী আলাপ',
                'bpy': u'আতাকুরার য়্যারী',
                'br': u'Kaozeadenn Implijer',
                'bs': u'Razgovor sa korisnikom',
                'bug': u'Pembicaraan Pengguna',
                'ca': u'Usuari Discussió',
                'cbk-zam': u'Usuario Discusión',
                'ce': u'Юзери дийца',
                'ceb': u'Hisgot sa Gumagamit',
                'ch': u'Kombetsasion ni muna\'sesetbi',
                'ckb': u'قسەی بەکارھێنەر',
                'crh': [u'Qullanıcı muzakeresi', u'Къулланыджы музакереси'],
                'cs': u'Uživatel diskuse',
                'csb': u'Diskùsëjô brëkòwnika',
                'cu': u'По́льꙃєватєлꙗ бєсѣ́да',
                'cv': u'Хутшăнаканăн канашлу страници',
                'cy': u'Sgwrs Defnyddiwr',
                'da': u'Brugerdiskussion',
                'de': u'Benutzer Diskussion',
                'dsb': u'Diskusija wužywarja',
                'el': u'Συζήτηση χρήστη',
                'eml': u'Discussioni utente',
                'eo': u'Vikipediista diskuto',
                'es': u'Usuario Discusión',
                'et': u'Kasutaja arutelu',
                'eu': u'Lankide eztabaida',
                'fa': u'بحث کاربر',
                'ff': u'Discussion utilisateur',
                'fi': u'Keskustelu käyttäjästä',
                'fiu-vro': u'Pruukja arotus',
                'fo': [u'Brúkarakjak', u'Brúkari kjak'],
                'fr': u'Discussion utilisateur',
                'frp': u'Discussion utilisator',
                'fur': u'Discussion utent',
                'fy': u'Meidogger oerlis',
                'ga': u'Plé úsáideora',
                'gan': u'User talk',
                'gl': [u'Conversa usuario', u'Conversa Usuario'],
                'glk': u'بحث کاربر',
                'gn': u'Puruhára myangekõi',
                'gu': u'સભ્યની ચર્ચા',
                'gv': u'Resooney ymmydeyr',
                'haw': u'Kūkākūkā o mea hoʻohana',
                'he': u'שיחת משתמש',
                'hi': u'सदस्य वार्ता',
                'hr': u'Razgovor sa suradnikom',
                'hsb': u'Diskusija z wužiwarjom',
                'ht': u'Diskisyon Itilizatè',
                'hu': u'Szerkesztővita',
                'hy': u'Մասնակցի քննարկում',
                'ia': u'Discussion Usator',
                'id': u'Pembicaraan Pengguna',
                'io': u'Uzanto Debato',
                'is': u'Notandaspjall',
                'it': u'Discussioni utente',
                'ja': u'利用者‐会話',
                'jv': u'Dhiskusi Panganggo',
                'ka': [u'მომხმარებლის განხილვა', u'მომხმარებელი განხილვა'],
                'kaa': u"Paydalanıwshı sa'wbeti",
                'kab': u'Amyannan umsqedac',
                'kk': u'Қатысушы талқылауы',
                'kl': [u'Atuisup oqalliffia', u'Brugerdiskussion'],
                'km': u'ការពិភាក្សារបស់អ្នកប្រើប្រាស់',
                'kn': u'ಸದಸ್ಯರ ಚರ್ಚೆಪುಟ',
                'ko': u'사용자토론',
                'ksh': [u'Metmaacher Klaaf', u'Medmaacher Klaaf'],
                'ku': u'Bikarhêner nîqaş',
                'kv': u'Обсуждение участника',
                'kw': [u'Kescows Devnydhyer', u'Cows Devnydhyer'],
                'la': u'Disputatio Usoris',
                'lad': u'Usuario Discusión',
                'lb': u'Benotzer Diskussioun',
                'lbe': u'Гьуртту хьуминнал ихтилат',
                'li': u'Euverlèk gebroeker',
                'lij': [u'Discûscioîn ûtente', u'Discussioni utente'],
                'lmo': [u'Ciciarada Druvat', u'Discussioni utente'],
                'ln': u'Discussion utilisateur',
                'lo': u'ສົນທະນາຂອງຜູ້ໃຊ້',
                'lt': u'Naudotojo aptarimas',
                'lv': u'Lietotāja diskusija',
                'map-bms': u'Dhiskusi Panganggo',
                'mdf': u'Тиись корхнема',
                'mg': [u'Dinika amin\'ny mpikambana', u'Discussion Utilisateur'],
                'mhr': [u'Пайдаланышын каҥашымаш', u'Обсуждение участника'],
                'mk': u'Разговор со корисник',
                'ml': u'ഉപയോക്താവിന്റെ സംവാദം',
                'mn': u'Хэрэглэгчийн яриа',
                'mr': u'सदस्य चर्चा',
                'ms': u'Perbincangan Pengguna',
                'mt': u'Diskussjoni utent',
                'mwl': u'Cumbersa outelizador',
                'myv': u'Теицянь кортамось',
                'mzn': [u'کارور گپ', u'بحث کاربر'],
                'nah': [u'Tlatequitiltilīlli tēixnāmiquiliztli', u'Usuario Discusión'],
                'nap': [u'Utente chiàcchiera', u'Discussioni utente'],
                'nds': u'Bruker Diskuschoon',
                'nds-nl': u'Overleg gebruker',
                'new': u'छ्येलेमि खँलाबँला',
                'nl': u'Overleg gebruiker',
                'nn': u'Brukardiskusjon',
                'no': u'Brukerdiskusjon',
                'nv': u"Choinish'įįhí baa yinísht'į́",
                'oc': u'Discussion Utilizaire',
                'os': u'Архайæджы дискусси',
                'pa': u'ਮੈਂਬਰ ਚਰਚਾ',
                'pdc': u'Benutzer Diskussion',
                'pl': u'Dyskusja użytkownika',
                'pms': u'Ciaciarade',
                'pnt': u'Καλάτσεμαν χρήστε',
                'ps': [u'د کارن خبرې اترې', u'د کارونکي خبرې اترې'],
                'pt': u'Usuário Discussão',
                'qu': u'Ruraq rimanakuy',
                'rmy': [u'Jeno vakyarimata', u'Discuţie Utilizator'],
                'ro': u'Discuţie Utilizator',
                'ru': u'Обсуждение участника',
                'sa': u'योजकसंभाषणं',
                'sah': u'Кыттааччы ырытыыта',
                'sc': u'Cuntierra usuàriu',
                'scn': u'Discussioni utenti',
                'sd': u'يوزر بحث',
                'sg': u'Discussion utilisateur',
                'sh': u'Razgovor sa korisnikom',
                'si': u'පරිශීලක සාකච්ඡාව',
                'sk': u'Diskusia s redaktorom',
                'sl': u'Uporabniški pogovor',
                'sq': u'Përdoruesi diskutim',
                'sr': u'Разговор са корисником',
                'srn': [u'Taki fu masyin', u'Overleg gebruiker'],
                'stq': u'Benutser Diskussion',
                'su': u'Obrolan pamaké',
                'sv': u'Användardiskussion',
                'sw': u'Majadiliano ya mtumiaji',
                'szl': u'Dyskusja użytkownika',
                'ta': u'பயனர் பேச்சு',
                'te': [u'వాడుకరి చర్చ', u'సభ్యులపై చర్చ'],
                'tet': u'Diskusaun Uza-na\'in',
                'tg': u'Баҳси корбар',
                'th': u'คุยกับผู้ใช้',
                'tk': u'Ulanyjy çekişme',
                'tl': u'Usapang tagagamit',
                'tlh': u"lo'wI' ja'chuq",
                'tr': u'Kullanıcı mesaj',
                'tt': [u'Кулланучы бәхәсе', u'Äğzä bäxäse'],
                'ty': u'Discussion utilisateur',
                'udm': u'Викиавтор сярысь вераськон',
                'uk': u'Обговорення користувача',
                'ur': u'تبادلۂ خیال صارف',
                'uz': u'Foydalanuvchi munozarasi',
                'vec': u'Discussion utente',
                'vi': u'Thảo luận Thành viên',
                'vls': u'Discuusje gebruker',
                'vo': u'Gebanibespik',
                'wa': u'Uzeu copene',
                'wo': [u'Waxtaani jëfandikukat', u'Discussion Utilisateur'],
                'wuu': u'用户讨论',
                'xal': u'Орлцачна тускар ухалвр',
                'yi': u'באַניצער רעדן',
                'yo': u'Ọ̀rọ̀ oníṣe',
                'za': u'用户讨论',
                'zea': u'Overleg gebruker',
                'zh': [u'User talk', u'用户讨论', u'用户对话', u'用戶討論', u'用戶對話'],
            },
            4: {
                '_default': u'Project',
                'arc': u'ܘܝܩܝܦܕܝܐ',
                'bn': u'উইকিপিডিয়া',
            },
            5: {
                '_default': u'Project talk',
                'arc': [u'ܡܡܠܠܐ ܕ ܘܝܩܝܦܕܝܐ', u'ܘܝܩܝܦܕܝܐ talk'],
                'bn': u'উইকিপিডিয়া আলোচনা',
                'ckb': u'لێدوانی Wikipedia',
                'kl': u'Wikipediaip oqalliffia',
                'kw': [u'Kescows Wikipedia', u'Cows Wikipedia'],
                'lmo': u'Wikipedia Ciciarada',
                'mhr': u'Wikipediaын каҥашымаш',
                'mzn': u'Wikipedia گپ',
                'tk': u'Wikipedia çekişme',
                'tt': u'Wikipedia бәхәсе',
            },
            6: {
                '_default': [u'File', u'Image'],
                'ab': [u'Файл', u'Изображение'],
                'ace': u'Berkas',
                'af': [u'Lêer', u'Beeld'],
                'als': [u'Datei', u'Bild'],
                'am': u'ስዕል',
                'an': u'Imachen',
                'ang': u'Biliþ',
                'ar': [u'ملف', u'صورة'],
                'arc': u'ܠܦܦܐ',
                'arz': [u'ملف', u'صورة'],
                'as': [u'চিত্র', u'चित्र'],
                'ast': [u'Archivu', u'Imaxe'],
                'av': [u'Файл', u'Изображение'],
                'ay': [u'Archivo', u'Imagen'],
                'az': u'Şəkil',
                'ba': u'Рәсем',
                'bar': [u'Datei', u'Bild'],
                'bat-smg': u'Abruozdielis',
                'bcl': u'Ladawan',
                'be': u'Выява',
                'be-x-old': [u'Файл', u'Выява'],
                'bg': [u'Файл', u'Картинка'],
                'bm': u'Fichier',
                'bn': u'চিত্র',
                'bpy': u'ছবি',
                'br': u'Skeudenn',
                'bs': [u'Datoteka', u'Slika'],
                'bug': u'Berkas',
                'ca': [u'Fitxer', u'Imatge'],
                'cbk-zam': [u'Archivo', u'Imagen'],
                'cbs': u'Òbrôzk',
                'ce': u'Сурт',
                'ceb': [u'Payl', u'Imahen'],
                'ch': u'Litratu',
                'ckb': u'پەڕگە',
                'crh': [u'Fayl', u'Resim', u'Ресим'],
                'cs': u'Soubor',
                'csb': u'Òbrôzk',
                'cu': [u'Дѣ́ло', u'Ви́дъ'],
                'cv': u'Ӳкерчĕк',
                'cy': u'Delwedd',
                'da': [u'Fil', u'Billede'],
                'de': [u'Datei', u'Bild'],
                'dsb': [u'Dataja', u'Wobraz'],
                'dv': u'ފައިލް',
                'el': [u'Αρχείο', u'Εικόνα'],
                'eml': [u'File', u'Immagine'],
                'eo': u'Dosiero',
                'es': [u'Archivo', u'Imagen'],
                'et': u'Pilt',
                'eu': [u'Fitxategi', u'Irudi'],
                'fa': [u'پرونده', u'تصویر'],
                'ff': u'Fichier',
                'fi': [u'Tiedosto', u'Kuva'],
                'fiu-vro': u'Pilt',
                'fo': u'Mynd',
                'fr': u'Fichier',
                'frp': u'Fichiér',
                'fur': u'Figure',
                'fy': u'Ofbyld',
                'ga': u'Íomhá',
                'gan': u'File',
                'gl': [u'Ficheiro', u'Imaxe'],
                'glk': [u'پرونده', u'تصویر'],
                'gn': u"Ta'ãnga",
                'gu': u'ચિત્ર',
                'gv': u'Coadan',
                'haw': [u'Waihona', u'Kiʻi'],
                'he': [u'קובץ', u'תמונה'],
                'hi': u'चित्र',
                'hr': [u'Datoteka', u'Slika'],
                'hsb': [u'Dataja', u'Wobraz'],
                'ht': u'Imaj',
                'hu': [u'Fájl', u'Kép'],
                'hy': u'Պատկեր',
                'ia': [u'File', u'Imagine'],
                'id': [u'Berkas', u'Gambar'],
                'io': u'Arkivo',
                'is': u'Mynd',
                'it': [u'File', u'Immagine'],
                'ja': [u'ファイル', u'画像'],
                'jv': u'Gambar',
                'ka': [u'ფაილი', u'სურათი'],
                'kaa': u"Su'wret",
                'kab': u'Tugna',
                'kk': u'Сурет',
                'kl': [u'Fiileq', u'Fil'],
                'km': [u'ឯកសារ', u'រូបភាព'],
                'kn': u'ಚಿತ್ರ',
                'ko': [u'파일', u'그림'],
                'ksh': [u'Datei', u'Beld', u'Belld'],
                'ku': u'Wêne',
                'kv': [u'Файл', u'Изображение'],
                'kw': u'Restren',
                'la': [u'Fasciculus', u'Imago'],
                'lad': [u'Archivo', u'Imagen'],
                'lb': [u'Fichier', u'Bild'],
                'lbe': u'Сурат',
                'li': u'Plaetje',
                'lij': [u'Immaggine', u'Immagine'],
                'lmo': [u'Archivi', u'Immagine'],
                'ln': u'Fichier',
                'lo': u'ຮູບ',
                'lt': u'Vaizdas',
                'lv': u'Attēls',
                'map-bms': u'Gambar',
                'mdf': u'Няйф',
                'mg': u'Sary',
                'mhr': u'Файл',
                'mk': [u'Податотека', u'Слика'],
                'ml': u'പ്രമാണം',
                'mn': u'Зураг',
                'mr': u'चित्र',
                'ms': [u'Fail', u'Imej'],
                'mt': u'Stampa',
                'mwl': u'Fexeiro',
                'myv': u'Артовкс',
                'mzn': [u'پرونده', u'تصویر'],
                'nah': [u'Īxiptli', u'Imagen'],
                'nap': [u'Fiùra', u'Immagine'],
                'nds': u'Bild',
                'nds-nl': u'Ofbeelding',
                'new': u'किपा',
                'nl': [u'Bestand', u'Afbeelding'],
                'nn': u'Fil',
                'no': [u'Fil', u'Bilde'],
                'nv': u"E'elyaaígíí",
                'oc': u'Fichièr',
                'os': u'Ныв',
                'pa': u'ਤਸਵੀਰ',
                'pdc': [u'Datei', u'Bild'],
                'pl': [u'Plik', u'Grafika'],
                'pms': u'Figura',
                'pnt': u'Εικόναν',
                'ps': u'دوتنه',
                'pt': [u'Ficheiro', u'Imagem'],
                'qu': u'Rikcha',
                'rmy': [u'Chitro', u'Imagine'],
                'ro': [u'Fişier', u'Imagine'],
                'ru': [u'Файл', u'Изображение'],
                'sa': u'चित्रं',
                'sah': [u'Билэ', u'Ойуу'],
                'sc': u'File',
                'scn': [u'File', u'Mmàggini'],
                'sd': u'عڪس',
                'sg': u'Fichier',
                'sh': u'Datoteka',
                'si': [u'ගොනුව', u'රූපය'],
                'sk': [u'Súbor', u'Obrázok'],
                'sl': u'Slika',
                'sq': [u'Skeda', u'Figura'],
                'sr': u'Слика',
                'srn': [u'Gefre', u'Afbeelding'],
                'stq': u'Bielde',
                'su': u'Gambar',
                'sv': [u'Fil', u'Bild'],
                'sw': u'Picha',
                'szl': [u'Plik', u'Grafika'],
                'ta': u'படிமம்',
                'te': [u'ఫైలు', u'బొమ్మ'],
                'tet': u'Imajen',
                'tg': u'Акс',
                'th': [u'ไฟล์', u'ภาพ'],
                'tk': u'Faýl',
                'tl': u'Talaksan',
                'tlh': u'nagh beQ',
                'tr': [u'Dosya', u'Resim'],
                'tt': [u'Рәсем', u'Räsem'],
                'ty': u'Fichier',
                'udm': u'Суред',
                'uk': [u'Файл', u'Зображення'],
                'ur': u'تصویر',
                'uz': u'Tasvir',
                'vec': [u'File', u'Imagine'],
                'vi': [u'Tập tin', u'Hình'],
                'vls': u'Ofbeeldienge',
                'vo': [u'Ragiv', u'Magod'],
                'wa': u'Imådje',
                'wo': [u'Dencukaay'],
                'wuu': u'文件',
                'xal': u'Зург',
                'yi': [u'טעקע', u'בילד'],
                'yo': u'Fáìlì',
                'za': u'文件',
                'zea': [u'Plaetje', u'File', u'Image', u'文件', u'图像', u'圖像'],
            },
            7: {
                '_default': [u'File talk', u'Image talk'],
                'ab': [u'Обсуждение файла', u'Обсуждение изображения'],
                'ace': u'Pembicaraan Berkas',
                'af': [u'Lêerbespreking', u'Beeldbespreking'],
                'als': [u'Datei Diskussion', u'Bild Diskussion'],
                'am': u'ስዕል ውይይት',
                'an': u'Descusión imachen',
                'ang': u'Biliþgesprec',
                'ar': [u'نقاش الملف', u'نقاش الصورة'],
                'arc': u'ܡܡܠܠܐ ܕܠܦܦܐ',
                'arz': [u'نقاش الملف', u'نقاش الصورة'],
                'as': [u'চিত্র বার্তা', u'चित्र वार्ता'],
                'ast': [u'Archivu alderique', u'Imaxe alderique'],
                'av': [u'Обсуждение файла', u'Обсуждение изображения'],
                'ay': [u'Archivo Discusión', u'Imagen Discusión'],
                'az': u'Şəkil müzakirəsi',
                'ba': u'Рәсем б-са фекер алышыу',
                'bar': [u'Datei Diskussion', u'Bild Diskussion'],
                'bat-smg': u'Abruozdielė aptarėms',
                'bcl': u'Olay sa ladawan',
                'be': u'Размовы пра выяву',
                'be-x-old': [u'Абмеркаваньне файла', u'Абмеркаваньне выявы'],
                'bg': [u'Файл беседа', u'Картинка беседа'],
                'bm': [u'Discussion fichier', u'Discussion Image'],
                'bn': [u'চিত্র আলোচনা', u'চিত্র আলাপ'],
                'bpy': u'ছবি য়্যারী',
                'br': u'Kaozeadenn Skeudenn',
                'bs': [u'Razgovor o datoteci', u'Razgovor o slici'],
                'bug': u'Pembicaraan Berkas',
                'ca': [u'Fitxer Discussió', u'Imatge Discussió'],
                'cbk-zam': [u'Archivo Discusión', u'Imagen Discusión'],
                'ce': u'Сурти дийца',
                'ceb': [u'Hisgot sa Payl', u'Hisgot sa Imahen'],
                'ch': u'Kombetsasion ni litratu',
                'ckb': u'لێدوانی پەڕگە',
                'crh': [u'Fayl muzakeresi', u'Resim muzakeresi', u'Ресим музакереси'],
                'cs': u'Soubor diskuse',
                'csb': u'Diskùsëjô òbrôzków',
                'cu': [u'Дѣ́ла бєсѣ́да', u'Ви́да бєсѣ́да'],
                'cv': u'Ӳкерчĕке сӳтсе явмалли',
                'cy': u'Sgwrs Delwedd',
                'da': [u'Fildiskussion', u'Billeddiskussion'],
                'de': [u'Datei Diskussion', u'Bild Diskussion'],
                'dsb': [u'Diskusija wó dataji', u'Diskusija wó wobrazu'],
                'dv': u'ފައިލް ޚިޔާލު',
                'el': [u'Συζήτηση αρχείου', u'Συζήτηση εικόνας'],
                'eml': [u'Discussioni file', u'Discussioni immagine'],
                'eo': u'Dosiera diskuto',
                'es': [u'Archivo Discusión', u'Imagen Discusión'],
                'et': u'Pildi arutelu',
                'eu': [u'Fitxategi eztabaida', u'Irudi eztabaida'],
                'fa': [u'بحث پرونده', u'بحث تصویر'],
                'ff': [u'Discussion fichier', u'Discussion Image'],
                'fi': [u'Keskustelu tiedostosta', u'Keskustelu kuvasta'],
                'fiu-vro': u'Pildi arotus',
                'fo': [u'Myndakjak', u'Mynd kjak'],
                'fr': [u'Discussion fichier', u'Discussion Image'],
                'frp': u'Discussion fichiér',
                'fur': u'Discussion figure',
                'fy': u'Ofbyld oerlis',
                'ga': u'Plé íomhá',
                'gan': u'File talk',
                'gl': [u'Conversa ficheiro', u'Conversa imaxe', u'Conversa Imaxe'],
                'glk': [u'بحث پرونده', u'بحث تصویر'],
                'gn': u"Ta'ãnga myangekõi",
                'gu': u'ચિત્રની ચર્ચા',
                'gv': u'Resooney coadan',
                'haw': u'Kūkākūkā o waihona',
                'he': [u'שיחת קובץ', u'שיחת תמונה'],
                'hi': u'चित्र वार्ता',
                'hr': [u'Razgovor o datoteci', u'Razgovor o slici'],
                'hsb': [u'Diskusija k dataji', u'Diskusija k wobrazej'],
                'ht': u'Diskisyon Imaj',
                'hu': [u'Fájlvita', u'Képvita'],
                'hy': u'Պատկերի քննարկում',
                'ia': [u'Discussion File', u'Discussion Imagine'],
                'id': [u'Pembicaraan Berkas', u'Pembicaraan Gambar'],
                'io': u'Arkivo Debato',
                'is': u'Myndaspjall',
                'it': [u'Discussioni file', u'Discussioni immagine'],
                'ja': [u'ファイル‐ノート', u'画像‐ノート'],
                'jv': u'Dhiskusi Gambar',
                'ka': [u'ფაილის განხილვა', u'სურათი განხილვა'],
                'kaa': u"Su'wret sa'wbeti",
                'kab': u'Amyannan n tugna',
                'kk': u'Сурет талқылауы',
                'kl': [u'Fiilip oqalliffia', u'Fildiskussion'],
                'km': [u'ការពិភាក្សាអំពីឯកសារ', u'ការពិភាក្សាអំពីរូបភាព'],
                'kn': u'ಚಿತ್ರ ಚರ್ಚೆಪುಟ',
                'ko': [u'파일토론', u'그림토론'],
                'ksh': [u'Dateie Klaaf', u'Belder Klaaf', u'Bellder Klaaf'],
                'ku': u'Wêne nîqaş',
                'kv': [u'Обсуждение файла', u'Обсуждение изображения'],
                'kw': [u'Kescows Restren', u'Cows Restren'],
                'la': [u'Disputatio Fasciculi', u'Disputatio Imaginis'],
                'lad': [u'Archivo Discusión', u'Imagen Discusión'],
                'lb': [u'Fichier Diskussioun', u'Bild Diskussioun'],
                'lbe': u'Суратраясса ихтилат',
                'li': u'Euverlèk plaetje',
                'lij': [u'Discûscioîn immaggine', u'Discussioni immagine'],
                'lmo': [u'Ciciarada Archivi', u'Discussioni immagine'],
                'ln': [u'Discussion fichier', u'Discussion Image'],
                'lo': u'ສົນທະນາກ່ຽວກັບຮູບ',
                'lt': u'Vaizdo aptarimas',
                'lv': u'Attēla diskusija',
                'map-bms': u'Dhiskusi Gambar',
                'mdf': u'Няйф корхнема',
                'mg': [u'Dinika amin\'ny sary', u'Discussion Image'],
                'mhr': [u'Файлын каҥашымаш', u'Обсуждение файла'],
                'mk': [u'Разговор за податотека', u'Разговор за слика'],
                'ml': u'പ്രമാണത്തിന്റെ സംവാദം',
                'mn': u'Зургийн хэлэлцүүлэг',
                'mr': u'चित्र चर्चा',
                'ms': [u'Perbincangan Fail', u'Perbincangan Imej'],
                'mt': u'Diskussjoni stampa',
                'mwl': u'Cumbersa fexeiro',
                'myv': u'Артовксто кортамось',
                'mzn': [u'پرونده گپ', u'بحث تصویر'],
                'nah': [u'Īxiptli tēixnāmiquiliztli', u'Imagen Discusión'],
                'nap': [u'Fiùra chiàcchiera', u'Discussioni immagine'],
                'nds': u'Bild Diskuschoon',
                'nds-nl': u'Overleg ofbeelding',
                'new': u'किपा खँलाबँला',
                'nl': [u'Overleg bestand', u'Overleg afbeelding'],
                'nn': u'Fildiskusjon',
                'no': [u'Fildiskusjon', u'Bildediskusjon'],
                'nv': u"E'elyaaígíí baa yinísht'į́",
                'oc': u'Discussion Fichièr',
                'os': u'Нывы тыххæй дискусси',
                'pa': u'ਤਸਵੀਰ ਚਰਚਾ',
                'pdc': [u'Datei Diskussion', u'Bild Diskussion'],
                'pl': [u'Dyskusja pliku', u'Dyskusja grafiki'],
                'pms': u'Discussion dla figura',
                'pnt': u'Καλάτσεμαν εικόνας',
                'ps': u'د دوتنې خبرې اترې',
                'pt': [u'Ficheiro Discussão', u'Imagem Discussão'],
                'qu': u'Rikcha rimanakuy',
                'rmy': [u'Chitro vakyarimata', u'Discuţie Imagine'],
                'ro': [u'Discuţie Fişier', u'Discutie Fisier', u'Discuţie Fisier', u'Discuţie Imagine'],
                'ru': [u'Обсуждение файла', u'Обсуждение изображения'],
                'sa': u'चित्रसंभाषणं',
                'sah': [u'Билэ ырытыыта', u'Ойуу ырытыыта'],
                'sc': u'Cuntierra file',
                'scn': [u'Discussioni file', u'Discussioni mmàggini'],
                'sd': u'عڪس بحث',
                'sg': u'Discussion fichier',
                'sh': u'Razgovor o datoteci',
                'si': [u'ගොනුව සාකච්ඡාව', u'රූපය සාකච්ඡාව'],
                'sk': [u'Diskusia k súboru', u'Diskusia k obrázku'],
                'sl': u'Pogovor o sliki',
                'sq': [u'Skeda diskutim', u'Figura diskutim'],
                'sr': u'Разговор о слици',
                'srn': [u'Taki fu gefre', u'Overleg afbeelding'],
                'stq': u'Bielde Diskussion',
                'su': u'Obrolan gambar',
                'sv': [u'Fildiskussion', u'Bilddiskussion'],
                'sw': u'Majadiliano faili',
                'szl': [u'Dyskusja pliku', u'Dyskusja grafiki'],
                'ta': [u'படிமப் பேச்சு', u'உருவப் பேச்சு'],
                'te': [u'ఫైలుపై చర్చ', u'బొమ్మపై చర్చ'],
                'tet': u'Diskusaun Imajen',
                'tg': u'Баҳси акс',
                'th': [u'คุยเรื่องไฟล์', u'คุยเรื่องภาพ'],
                'tk': u'Faýl çekişme',
                'tl': u'Usapang talaksan',
                'tlh': u"nagh beQ ja'chuq",
                'tr': [u'Dosya tartışma', u'Resim tartışma'],
                'tt': [u'Рәсем бәхәсе', u'Räsem bäxäse'],
                'ty': [u'Discussion fichier', u'Discussion Image'],
                'udm': u'Суред сярысь вераськон',
                'uk': [u'Обговорення файлу', u'Обговорення зображення'],
                'ur': u'تبادلۂ خیال تصویر',
                'uz': u'Tasvir munozarasi',
                'vec': [u'Discussion file', u'Discussion imagine'],
                'vi': [u'Thảo luận Tập tin', u'Thảo luận Hình'],
                'vls': u'Discuusje ofbeeldienge',
                'vo': [u'Ragivibespik', u'Magodibespik'],
                'wa': u'Imådje copene',
                'wo': [u'Waxtaani dencukaay'],
                'wuu': u'文件讨论',
                'xal': u'Зургин тускар ухалвр',
                'yi': [u'טעקע רעדן', u'בילד רעדן'],
                'yo': u'Ọ̀rọ̀ fáìlì',
                'za': u'文件讨论',
                'zea': u'Overleg plaetje',
                'zh': [u'File talk', u'Image talk', u'文件讨论', u'图像讨论', u'文件对话', u'图像对话', u'文件討論', u'圖像討論', u'文件對話', u'圖像對話'],
            },
            8: {
                '_default': u'MediaWiki',
                'am': u'መልዕክት',
                'ar': u'ميدياويكي',
                'arc': u'ܡܝܕܝܐܘܝܩܝ',
                'arz': [u'ميدياويكى', u'ميدياويكي'],
                'az': u'MediyaViki',
                'bcl': u'MediaWiki',
                'bg': u'МедияУики',
                'bn': u'মিডিয়াউইকি',
                'bpy': u'মিডিয়াউইকি',
                'bs': [u'MediaWiki', u'MedijaViki'],
                'ce': u'МедйаВики',
                'crh': [u'MediaViki', u'МедиаВики'],
                'cy': u'MediaWici',
                'dv': u'މީޑިއާވިކީ',
                'fa': u'مدیاویکی',
                'fi': u'Järjestelmäviesti',
                'fo': [u'MediaWiki', u'MidiaWiki'],
                'glk': u'مدیاویکی',
                'gu': u'મીડિયાવિકિ',
                'he': u'מדיה ויקי',
                'hi': u'मीडियाविकि',
                'ht': u'MedyaWiki',
                'is': u'Melding',
                'ka': u'მედიავიკი',
                'kk': u'МедиаУики',
                'km': u'មេឌាវិគី',
                'kn': u'ಮೀಡಿಯವಿಕಿ',
                'ko': u'미디어위키',
                'ksh': [u'MediaWiki', u'MedijaWikki'],
                'lo': u'ມີເດຍວິກິ',
                'mdf': u'МедиаВики',
                'mk': u'МедијаВики',
                'ml': u'മീഡിയവിക്കി',
                'mn': u'МедиаВики',
                'mr': u'मिडियाविकी',
                'mwl': u'Biqui',
                'mzn': [u'مه‌دیا ویکی', u'مدیاویکی'],
                'nah': u'Huiquimedia',
                'new': u'मिडियाविकि',
                'pa': u'ਮੀਡੀਆਵਿਕਿ',
                'ps': u'ميډياويکي',
                'rmy': u'MediyaViki',
                'sa': u'मिडीयाविकी',
                'sd': u'ذريعات وڪي',
                'si': [u'මාධ්‍යවිකි', u'විකිමාධ්‍ය'],
                'sr': u'МедијаВики',
                'su': [u'MédiaWiki'],
                'ta': u'மீடியாவிக்கி',
                'te': u'మీడియావికీ',
                'tg': u'Медиавики',
                'th': u'มีเดียวิกิ',
                'tr': u'MedyaViki',
                'tt': u'Медиа Вики',
                'ur': u'میڈیاوکی',
                'vo': u'Sitanuns',
                'yi': u'מעדיעװיקי',
            },
            9: {
                '_default': u'MediaWiki talk',
                'ab': u'Обсуждение MediaWiki',
                'ace': u'Pembicaraan MediaWiki',
                'af': u'MediaWikibespreking',
                'als': u'MediaWiki Diskussion',
                'am': u'መልዕክት ውይይት',
                'an': u'Descusión MediaWiki',
                'ar': u'نقاش ميدياويكي',
                'arc': u'ܡܡܠܠܐ ܕܡܝܕܝܐܘܝܩܝ',
                'arz': [u'نقاش ميدياويكى', u'نقاش ميدياويكي'],
                'as': u'MediaWiki বার্তা',
                'ast': u'MediaWiki alderique',
                'av': u'Обсуждение MediaWiki',
                'ay': u'MediaWiki Discusión',
                'az': u'MediyaViki müzakirəsi',
                'ba': u'MediaWiki б-са фекер алышыу',
                'bar': u'MediaWiki Diskussion',
                'bat-smg': u'MediaWiki aptarėms',
                'bcl': u'Olay sa MediaWiki',
                'be': u'Размовы пра MediaWiki',
                'be-x-old': u'Абмеркаваньне MediaWiki',
                'bg': u'МедияУики беседа',
                'bm': u'Discussion MediaWiki',
                'bn': [u'মিডিয়াউইকি আলোচনা', u'MediaWiki আলাপ'],
                'bpy': u'মিডিয়াউইকির য়্যারী',
                'br': u'Kaozeadenn MediaWiki',
                'bs': [u'MediaWiki razgovor', u'Razgovor o MedijaVikiju'],
                'bug': u'Pembicaraan MediaWiki',
                'ca': u'MediaWiki Discussió',
                'cbk-zam': u'MediaWiki Discusión',
                'ce': u'МедйаВики дийца',
                'ceb': u'Hisgot sa MediaWiki',
                'ckb': u'لێدوانی میدیاویکی',
                'crh': [u'MediaViki muzakeresi', u'МедиаВики музакереси'],
                'cs': u'MediaWiki diskuse',
                'csb': u'Diskùsëjô MediaWiki',
                'cu': u'MediaWiki бєсѣ́да',
                'cv': u'MediaWiki сӳтсе явмалли',
                'cy': u'Sgwrs MediaWici',
                'da': u'MediaWiki-diskussion',
                'de': u'MediaWiki Diskussion',
                'dsb': u'MediaWiki diskusija',
                'dv': u'މީޑިޔާވިކި ޚިޔާލު',
                'el': u'Συζήτηση MediaWiki',
                'eml': u'Discussioni MediaWiki',
                'eo': u'MediaWiki diskuto',
                'es': u'MediaWiki Discusión',
                'et': u'MediaWiki arutelu',
                'eu': u'MediaWiki eztabaida',
                'fa': u'بحث مدیاویکی',
                'ff': u'Discussion MediaWiki',
                'fi': u'Keskustelu järjestelmäviestistä',
                'fiu-vro': u'MediaWiki arotus',
                'fo': [u'MediaWiki-kjak', u'MidiaWiki-kjak', u'MidiaWiki kjak'],
                'fr': u'Discussion MediaWiki',
                'frp': u'Discussion MediaWiki',
                'fur': u'Discussion MediaWiki',
                'fy': u'MediaWiki oerlis',
                'ga': u'Plé MediaWiki',
                'gan': u'MediaWiki talk',
                'gl': u'Conversa MediaWiki',
                'glk': u'بحث مدیاویکی',
                'gn': u'MediaWiki myangekõi',
                'gu': u'મીડિયાવિકિ ચર્ચા',
                'gv': 'Resooney MediaWiki',
                'haw': u'Kūkākūkā o MediaWiki',
                'he': u'שיחת מדיה ויקי',
                'hi': u'मीडियाविकि वार्ता',
                'hr': u'MediaWiki razgovor',
                'hsb': u'MediaWiki diskusija',
                'ht': u'Diskisyon MedyaWiki',
                'hu': u'MediaWiki-vita',
                'hy': u'MediaWiki քննարկում',
                'ia': u'Discussion MediaWiki',
                'id': u'Pembicaraan MediaWiki',
                'io': u'MediaWiki Debato',
                'is': u'Meldingarspjall',
                'it': u'Discussioni MediaWiki',
                'ja': u'MediaWiki‐ノート',
                'jv': u'Dhiskusi MediaWiki',
                'ka': [u'მედიავიკის განხილვა', u'მედიავიკი განხილვა'],
                'kaa': u"MediaWiki sa'wbeti",
                'kab': u'Amyannan n MediaWiki',
                'kk': u'МедиаУики талқылауы',
                'kl': [u'Mediawikip oqalliffia', u'MediaWiki-diskussion'],
                'km': u'ការពិភាក្សាអំពីមេឌាវិគី',
                'kn': u'ಮೀಡೀಯವಿಕಿ ಚರ್ಚೆ',
                'ko': u'미디어위키토론',
                'ksh': [u'MediaWiki Klaaf', u'MedijaWikki Klaaf'],
                'ku': u'MediaWiki nîqaş',
                'kv': u'Обсуждение MediaWiki',
                'kw': [u'Kescows MediaWiki', u'Cows MediaWiki'],
                'la': u'Disputatio MediaWiki',
                'lad': u'MediaWiki Discusión',
                'lb': u'MediaWiki Diskussioun',
                'lbe': u'MediaWikiлиясса ихтилат',
                'li': u'Euverlèk MediaWiki',
                'lij': [u'Discûscioîn MediaWiki', u'Discussioni MediaWiki'],
                'lmo': [u'Ciciarada MediaWiki', u'Discussioni MediaWiki'],
                'ln': u'Discussion MediaWiki',
                'lo': u'ສົນທະນາກ່ຽວກັບມີເດຍວິກິ',
                'lt': u'MediaWiki aptarimas',
                'lv': u'MediaWiki diskusija',
                'map-bms': u'Dhiskusi MediaWiki',
                'mdf': u'МедиаВики корхнема',
                'mg': [u'Dinika amin\'ny MediaWiki', u'Discussion MediaWiki'],
                'mhr': u'Обсуждение MediaWiki',
                'mk': u'Разговор за МедијаВики',
                'ml': u'മീഡിയവിക്കി സംവാദം',
                'mn': u'МедиаВикигийн хэлэлцүүлэг',
                'mr': u'मिडियाविकी चर्चा',
                'ms': u'Perbincangan MediaWiki',
                'mt': u'Diskussjoni MediaWiki',
                'mwl': u'Cumbersa Biqui',
                'myv': u'MediaWiki-нь кортамось',
                'mzn': [u'مه‌دیا ویکی گپ', u'بحث مدیاویکی'],
                'nah': [u'Huiquimedia tēixnāmiquiliztli', u'MediaWiki Discusión'],
                'nap': [u'MediaWiki chiàcchiera', u'Discussioni MediaWiki'],
                'nds': u'MediaWiki Diskuschoon',
                'nds-nl': u'Overleg MediaWiki',
                'new': u'मिडियाविकि खँलाबँला',
                'nl': u'Overleg MediaWiki',
                'nn': u'MediaWiki-diskusjon',
                'no': u'MediaWiki-diskusjon',
                'nv': u"MediaWiki baa yinísht'į́",
                'oc': u'Discussion MediaWiki',
                'os': u'Дискусси MediaWiki',
                'pa': u'ਮੀਡੀਆਵਿਕਿ ਚਰਚਾ',
                'pdc': u'MediaWiki Diskussion',
                'pl': u'Dyskusja MediaWiki',
                'pms': u'Discussion dla MediaWiki',
                'ps': u'د ميډياويکي خبرې اترې',
                'pt': u'MediaWiki Discussão',
                'qu': u'MediaWiki rimanakuy',
                'rmy': [u'MediyaViki vakyarimata', u'Discuţie MediaWiki'],
                'ro': u'Discuţie MediaWiki',
                'ru': u'Обсуждение MediaWiki',
                'sa': u'मिडियाविकीसंभाषणं',
                'sah': u'Обсуждение MediaWiki',
                'sc': u'Cuntierra MediaWiki',
                'scn': u'Discussioni MediaWiki',
                'sd': u'ذريعات وڪي بحث',
                'sg': u'Discussion MediaWiki',
                'si': [u'මාධ්‍යවිකි සාකච්ඡාව', u'විකිමාධ්‍ය සාකච්ඡාව'],
                'sk': u'Diskusia k MediaWiki',
                'sl': u'Pogovor o MediaWiki',
                'sq': u'MediaWiki diskutim',
                'sr': u'Разговор о МедијаВикију',
                'srn': [u'Taki fu MediaWiki', u'Overleg MediaWiki'],
                'stq': u'MediaWiki Diskussion',
                'su': [u'Obrolan MédiaWiki', u'Obrolan MediaWiki'],
                'sv': u'MediaWiki-diskussion',
                'sw': u'MediaWiki majadiliano',
                'szl': u'Dyskusja MediaWiki',
                'ta': u'மீடியாவிக்கி பேச்சு',
                'te': u'మీడియావికీ చర్చ',
                'tet': u'Diskusaun MediaWiki',
                'tg': u'Баҳси медиавики',
                'th': u'คุยเรื่องมีเดียวิกิ',
                'tk': u'MediaWiki çekişme',
                'tl': u'Usapang MediaWiki',
                'tlh': u"MediaWiki ja'chuq",
                'tr': u'MedyaViki tartışma',
                'tt': [u'Медиа Вики бәхәсе', u'MediaWiki bäxäse'],
                'ty': u'Discussion MediaWiki',
                'udm': u'MediaWiki сярысь вераськон',
                'uk': u'Обговорення MediaWiki',
                'ur': u'تبادلۂ خیال میڈیاوکی',
                'uz': u'MediaWiki munozarasi',
                'vec': u'Discussion MediaWiki',
                'vi': u'Thảo luận MediaWiki',
                'vls': u'Discuusje MediaWiki',
                'vo': u'Bespik dö sitanuns',
                'wa': u'MediaWiki copene',
                'wo': [u'Waxtaani MediaWiki', u'Discussion MediaWiki'],
                'wuu': u'MediaWiki讨论',
                'xal': u'MediaWiki тускар ухалвр',
                'yi': u'מעדיעװיקי רעדן',
                'yo': u'Ọ̀rọ̀ mediaWiki',
                'za': u'MediaWiki讨论',
                'zea': u'Overleg MediaWiki',
                'zh': [u'MediaWiki talk', u'MediaWiki讨论', u'MediaWiki对话', u'MediaWiki討論', u'MediaWiki對話'],
            },
            10: {
                '_default': u'Template',
                'ab': u'Шаблон',
                'ace': u'Templat',
                'af': u'Sjabloon',
                'als': u'Vorlage',
                'am': [u'መለጠፊያ', u'መልጠፊያ'],
                'an': u'Plantilla',
                'ang': u'Bysen',
                'ar': u'قالب',
                'arc': u'ܩܠܒܐ',
                'arz': u'قالب',
                'as': [u'সাঁচ', u'साँचा'],
                'ast': u'Plantía',
                'av': u'Шаблон',
                'ay': u'Plantilla',
                'az': u'Şablon',
                'ba': u'Ҡалып',
                'bar': u'Vorlage',
                'bat-smg': u'Šabluons',
                'bcl': u'Plantilya',
                'be': u'Шаблон',
                'be-x-old': u'Шаблён',
                'bg': u'Шаблон',
                'bm': u'Modèle',
                'bn': u'টেমপ্লেট',
                'bpy': u'মডেল',
                'br': u'Patrom',
                'bs': u'Šablon',
                'bug': u'Templat',
                'ca': u'Plantilla',
                'cbk-zam': u'Plantilla',
                'cbs': u'Szablóna',
                'ce': u'Дакъа',
                'ceb': u'Plantilya',
                'ckb': u'قاڵب',
                'crh': [u'Şablon', u'Шаблон'],
                'cs': u'Šablona',
                'csb': u'Szablóna',
                'cu': u'Обраꙁь́ць',
                'cv': u'Шаблон',
                'cy': u'Nodyn',
                'da': u'Skabelon',
                'de': u'Vorlage',
                'dsb': u'Pśedłoga',
                'dv': u'ފަންވަތް',
                'el': u'Πρότυπο',
                'eo': u'Ŝablono',
                'es': u'Plantilla',
                'et': u'Mall',
                'eu': u'Txantiloi',
                'fa': u'الگو',
                'ff': u'Modèle',
                'fi': u'Malline',
                'fiu-vro': u'Näüdüs',
                'fo': u'Fyrimynd',
                'fr': u'Modèle',
                'frp': u'Modèlo',
                'fur': u'Model',
                'fy': u'Berjocht',
                'ga': u'Teimpléad',
                'gan': u'Template',
                'gl': u'Modelo',
                'glk': u'الگو',
                'gn': u'Tembiecharã',
                'gu': u'ઢાંચો',
                'gv': u'Clowan',
                'haw': u'Anakuhi',
                'he': u'תבנית',
                'hi': u'साँचा',
                'hr': u'Predložak',
                'hsb': u'Předłoha',
                'ht': u'Modèl',
                'hu': u'Sablon',
                'hy': u'Կաղապար',
                'ia': u'Patrono',
                'id': u'Templat',
                'io': [u'Shablono', u'Modelo'],
                'is': u'Snið',
                'jv': u'Cithakan',
                'ka': u'თარგი',
                'kaa': u'Shablon',
                'kab': u'Talɣa',
                'kk': u'Үлгі',
                'kl': [u'Ilisserut', u'Skabelon'],
                'km': u'ទំព័រគំរូ',
                'kn': u'ಟೆಂಪ್ಲೇಟು',
                'ko': u'틀',
                'ksh': u'Schablon',
                'ku': u'Şablon',
                'kv': u'Шаблон',
                'kw': u'Scantlyn',
                'la': u'Formula',
                'lad': u'Plantilla',
                'lb': u'Schabloun',
                'lbe': u'Шаблон',
                'li': u'Sjabloon',
                'lmo': u'Mudel',
                'ln': u'Modèle',
                'lo': u'ແມ່ແບບ',
                'lt': u'Šablonas',
                'lv': u'Veidne',
                'map-bms': u'Cithakan',
                'mdf': u'Шаблон',
                'mg': [u'Endrika', u'Modèle'],
                'mhr': [u'Ямдылык', u'Шаблон'],
                'mk': u'Шаблон',
                'ml': u'ഫലകം',
                'mn': u'Загвар',
                'mr': u'साचा',
                'ms': u'Templat',
                'mt': u'Mudell',
                'mwl': u'Modelo',
                'myv': u'ЛопаПарцун',
                'mzn': [u'شابلون', u'الگو'],
                'nah': [u'Nemachiyōtīlli', u'Plantilla'],
                'nap': u'Modello',
                'nds': u'Vörlaag',
                'nds-nl': u'Mal',
                'nl': u'Sjabloon',
                'nn': u'Mal',
                'no': u'Mal',
                'oc': u'Modèl',
                'os': u'Шаблон',
                'pa': u'ਨਮੂਨਾ',
                'pdc': u'Vorlage',
                'pl': u'Szablon',
                'pms': u'Stamp',
                'pnt': u'Πρότυπον',
                'ps': u'کينډۍ',
                'pt': u'Predefinição',
                'qu': u'Plantilla',
                'rmy': [u'Sikavno', u'Format'],
                'ro': u'Format',
                'ru': u'Шаблон',
                'sa': u'बिंबधर',
                'sah': u'Халыып',
                'sd': u'سانچو',
                'sg': u'Modèle',
                'sh': u'Šablon',
                'si': u'සැකිල්ල',
                'sk': u'Šablóna',
                'sl': u'Predloga',
                'sq': u'Stampa',
                'sr': u'Шаблон',
                'srn': [u'Ankra', u'Sjabloon'],
                'stq': u'Foarloage',
                'su': u'Citakan',
                'sv': u'Mall',
                'sw': u'Kigezo',
                'szl': u'Szablon',
                'ta': u'வார்ப்புரு',
                'te': u'మూస',
                'tg': u'Шаблон',
                'th': u'แม่แบบ',
                'tk': u'Şablon',
                'tl': u'Suleras',
                'tlh': u"chen'ay'",
                'tr': u'Şablon',
                'tt': [u'Үрнәк', u'Ürnäk'],
                'ty': u'Modèle',
                'udm': u'Шаблон',
                'uk': u'Шаблон',
                'ur': u'سانچہ',
                'uz': u'Andoza',
                'vi': [u'Bản mẫu', u'Tiêu bản'],
                'vls': u'Patrôon',
                'vo': u'Samafomot',
                'wa': u'Modele',
                'wo': [u'Royuwaay', u'Modèle'],
                'wuu': u'模板',
                'xal': u'Зура',
                'yi': u'מוסטער',
                'yo': u'Àdàkọ',
                'za': u'模板',
                'zea': u'Sjabloon',
                'zh': [u'Template', u'模板'],
            },
            11: {
                '_default': u'Template talk',
                'ab': u'Обсуждение шаблона',
                'ace': u'Pembicaraan Templat',
                'af': u'Sjabloonbespreking',
                'als': u'Vorlage Diskussion',
                'am': [u'መለጠፊያ ውይይት', u'መልጠፊያ ውይይት'],
                'an': u'Descusión plantilla',
                'ang': u'Bysengesprec',
                'ar': u'نقاش القالب',
                'arc': u'ܡܡܠܠܐ ܕܩܠܒܐ',
                'arz': u'نقاش القالب',
                'as': [u'সাঁচ বার্তা', u'साँचा वार्ता'],
                'ast': u'Plantía alderique',
                'av': u'Обсуждение шаблона',
                'ay': u'Plantilla Discusión',
                'az': u'Şablon müzakirəsi',
                'ba': u'Ҡалып б-са фекер алышыу',
                'bar': u'Vorlage Diskussion',
                'bat-smg': u'Šabluona aptarėms',
                'bcl': u'Olay sa plantilya',
                'be': u'Размовы пра шаблон',
                'be-x-old': u'Абмеркаваньне шаблёну',
                'bg': u'Шаблон беседа',
                'bm': u'Discussion modèle',
                'bn': u'টেমপ্লেট আলোচনা',
                'bpy': u'মডেলর য়্যারী',
                'br': u'Kaozeadenn Patrom',
                'bs': u'Razgovor o šablonu',
                'bug': u'Pembicaraan Templat',
                'ca': u'Plantilla Discussió',
                'cbk-zam': u'Plantilla Discusión',
                'ce': u'Дакъан дийца',
                'ceb': u'Hisgot sa Plantilya',
                'ckb': u'لێدوانی قاڵب',
                'crh': [u'Şablon muzakeresi', u'Шаблон музакереси'],
                'cs': u'Šablona diskuse',
                'csb': u'Diskùsëjô Szablónë',
                'cu': u'Обраꙁьца́ бєсѣ́да',
                'cv': u'Шаблона сӳтсе явмалли',
                'cy': u'Sgwrs Nodyn',
                'da': u'Skabelondiskussion',
                'de': u'Vorlage Diskussion',
                'dsb': u'Diskusija wó pśedłoze',
                'dv': u'ފަންވަތް ޚިޔާލު',
                'el': u'Συζήτηση προτύπου',
                'eml': u'Discussioni template',
                'eo': u'Ŝablona diskuto',
                'es': u'Plantilla Discusión',
                'et': u'Malli arutelu',
                'eu': u'Txantiloi eztabaida',
                'fa': u'بحث الگو',
                'ff': u'Discussion modèle',
                'fi': u'Keskustelu mallineesta',
                'fiu-vro': u'Näüdüse arotus',
                'fo': [u'Fyrimyndakjak', u'Fyrimynd kjak'],
                'fr': u'Discussion modèle',
                'frp': u'Discussion modèlo',
                'fur': u'Discussion model',
                'fy': u'Berjocht oerlis',
                'ga': u'Plé teimpléid',
                'gan': u'Template talk',
                'gl': [u'Conversa modelo', u'Conversa Modelo'],
                'glk': u'بحث الگو',
                'gn': u'Tembiecharã myangekõi',
                'gu': u'ઢાંચાની ચર્ચા',
                'gv': u'Resooney clowan',
                'haw': u'Kūkākūkā o anakuhi',
                'he': u'שיחת תבנית',
                'hi': u'साँचा वार्ता',
                'hr': u'Razgovor o predlošku',
                'hsb': u'Diskusija k předłoze',
                'ht': u'Diskisyon Modèl',
                'hu': u'Sablonvita',
                'hy': u'Կաղապարի քննարկում',
                'ia': u'Discussion Patrono',
                'id': u'Pembicaraan Templat',
                'io': [u'Shablono Debato', u'Modelo Debato'],
                'is': u'Sniðaspjall',
                'it': u'Discussioni template',
                'ja': u'Template‐ノート',
                'jv': u'Dhiskusi Cithakan',
                'ka': [u'თარგის განხილვა', u'თარგი განხილვა'],
                'kaa': u"Shablon sa'wbeti",
                'kab': u'Amyannan n talɣa',
                'kk': u'Үлгі талқылауы',
                'kl': [u'Ilisserummi oqallinneq', u'Skabelondiskussion'],
                'km': u'ការពិភាក្សាអំពីទំព័រគំរូ',
                'kn': u'ಟೆಂಪ್ಲೇಟು ಚರ್ಚೆ',
                'ko': u'틀토론',
                'ksh': u'Schablone Klaaf',
                'ku': u'Şablon nîqaş',
                'kv': u'Обсуждение шаблона',
                'kw': [u'Kescows Scantlyn', u'Cows Scantlyn'],
                'la': u'Disputatio Formulae',
                'lad': u'Plantilla Discusión',
                'lb': u'Schabloun Diskussioun',
                'lbe': u'Шаблондалиясса ихтилат',
                'li': u'Euverlèk sjabloon',
                'lij': [u'Discûscioîn template', u'Discussioni template'],
                'lmo': [u'Ciciarada Mudel', u'Discussioni template'],
                'ln': u'Discussion modèle',
                'lo': u'ສົນທະນາກ່ຽວກັບແມ່ແບບ',
                'lt': u'Šablono aptarimas',
                'lv': u'Veidnes diskusija',
                'map-bms': u'Dhiskusi Cithakan',
                'mdf': u'Шаблон корхнема',
                'mg': [u'Dinika amin\'ny endrika', u'Discussion Modèle'],
                'mhr': [u'Ямдылыкын каҥашымаш', u'Обсуждение шаблона'],
                'mk': u'Разговор за шаблон',
                'ml': u'ഫലകത്തിന്റെ സംവാദം',
                'mn': u'Загварын хэлэлцүүлэг',
                'mr': u'साचा चर्चा',
                'ms': u'Perbincangan Templat',
                'mt': u'Diskussjoni mudell',
                'mwl': u'Cumbersa Modelo',
                'myv': u'ЛопаПарцундо кортамось',
                'mzn': [u'شابلون گپ', u'بحث الگو'],
                'nah': [u'Nemachiyōtīlli tēixnāmiquiliztli', u'Plantilla Discusión'],
                'nap': [u'Modello chiàcchiera', u'Discussioni template'],
                'nds': u'Vörlaag Diskuschoon',
                'nds-nl': u'Overleg mal',
                'nl': u'Overleg sjabloon',
                'nn': u'Maldiskusjon',
                'no': u'Maldiskusjon',
                'oc': u'Discussion Modèl',
                'os': u'Шаблоны тыххæй дискусси',
                'pa': u'ਨਮੂਨਾ ਚਰਚਾ',
                'pdc': u'Vorlage Diskussion',
                'pl': u'Dyskusja szablonu',
                'pms': u'Discussion dlë stamp',
                'pnt': u'Καλάτσεμαν πρότυπι',
                'ps': u'د کينډۍ خبرې اترې',
                'pt': u'Predefinição Discussão',
                'qu': u'Plantilla rimanakuy',
                'rmy': [u'Sikavno vakyarimata', u'Discuţie Format'],
                'ro': u'Discuţie Format',
                'ru': u'Обсуждение шаблона',
                'sa': u'बिंबधर संभाषणं',
                'sah': u'Халыып ырытыыта',
                'sc': u'Cuntierra template',
                'scn': u'Discussioni template',
                'sd': u'سنچو بحث',
                'sg': u'Discussion modèle',
                'sh': u'Razgovor o šablonu',
                'si': [u'සැකිලි සාකච්ඡාව', u'සැකිල සාකච්ඡාව'],
                'sk': u'Diskusia k šablóne',
                'sl': u'Pogovor o predlogi',
                'sq': u'Stampa diskutim',
                'sr': u'Разговор о шаблону',
                'srn': [u'Taki fu ankra', u'Overleg sjabloon'],
                'stq': u'Foarloage Diskussion',
                'su': u'Obrolan citakan',
                'sv': u'Malldiskussion',
                'sw': u'Kigezo majadiliano',
                'szl': u'Dyskusja szablonu',
                'ta': u'வார்ப்புரு பேச்சு',
                'te': u'మూస చర్చ',
                'tet': u'Diskusaun Template',
                'tg': u'Баҳси шаблон',
                'th': u'คุยเรื่องแม่แบบ',
                'tk': u'Şablon çekişme',
                'tl': u'Usapang suleras',
                'tlh': u"chen'ay' ja'chuq",
                'tr': u'Şablon tartışma',
                'tt': [u'Шаблон бәхәсе', u'Ürnäk bäxäse'],
                'ty': u'Discussion modèle',
                'udm': u'Шаблон сярысь вераськон',
                'uk': u'Обговорення шаблону',
                'ur': u'تبادلۂ خیال سانچہ',
                'uz': u'Andoza munozarasi',
                'vec': u'Discussion template',
                'vi': [u'Thảo luận Bản mẫu', u'Thảo luận Tiêu bản'],
                'vls': u'Discuusje patrôon',
                'vo': u'Samafomotibespik',
                'wa': u'Modele copene',
                'wo': [u'Waxtaani royuwaay', u'Discussion Modèle'],
                'wuu': u'模板讨论',
                'xal': u'Зуран тускар ухалвр',
                'yi': u'מוסטער רעדן',
                'yo': u'Ọ̀rọ̀ àdàkọ',
                'za': u'模板讨论',
                'zea': u'Overleg sjabloon',
                'zh': [u'Template talk', u'模板讨论', u'模板討論', u'模板对话', u'模板對話'],
            },
            12: {
                '_default': u'Help',
                'ab': u'Справка',
                'ace': u'Bantuan',
                'af': u'Hulp',
                'als': u'Hilfe',
                'am': u'እርዳታ',
                'an': u'Aduya',
                'ar': u'مساعدة',
                'arc': u'ܥܘܕܪܢܐ',
                'arz': u'مساعدة',
                'as': u'সহায়',
                'ast': u'Aida',
                'av': u'Справка',
                'ay': u'Ayuda',
                'az': u'Kömək',
                'ba': u'Белешмә',
                'bar': u'Hilfe',
                'bat-smg': u'Pagelba',
                'bcl': u'Tabang',
                'be': u'Даведка',
                'be-x-old': u'Дапамога',
                'bg': u'Помощ',
                'bm': u'Aide',
                'bn': u'সাহায্য',
                'bpy': u'পাংলাক',
                'br': u'Skoazell',
                'bs': u'Pomoć',
                'bug': u'Bantuan',
                'ca': u'Ajuda',
                'cbk-zam': u'Ayuda',
                'cbs': u'Pòmòc',
                'ce': u'ГІо',
                'ceb': u'Tabang',
                'ch': u'Ayudo',
                'ckb': u'یارمەتی',
                'crh': [u'Yardım', u'Ярдым'],
                'cs': u'Nápověda',
                'csb': u'Pòmòc',
                'cu': u'По́мощь',
                'cv': u'Пулăшу',
                'cy': u'Cymorth',
                'da': u'Hjælp',
                'de': u'Hilfe',
                'dsb': u'Pomoc',
                'dv': u'އެހީ',
                'el': u'Βοήθεια',
                'eml': u'Aiuto',
                'eo': u'Helpo',
                'es': u'Ayuda',
                'et': u'Juhend',
                'eu': u'Laguntza',
                'fa': u'راهنما',
                'ff': u'Aide',
                'fi': u'Ohje',
                'fiu-vro': u'Oppus',
                'fo': u'Hjálp',
                'fr': u'Aide',
                'frp': u'Éde',
                'fur': u'Jutori',
                'fy': u'Hulp',
                'ga': u'Cabhair',
                'gan': u'Help',
                'gl': u'Axuda',
                'glk': u'راهنما',
                'gn': u'Pytyvõ',
                'gu': u'મદદ',
                'gv': u'Cooney',
                'haw': u'Kōkua',
                'he': u'עזרה',
                'hi': u'सहायता',
                'hr': u'Pomoć',
                'hsb': u'Pomoc',
                'ht': u'Èd',
                'hu': u'Segítség',
                'hy': u'Օգնություն',
                'ia': u'Adjuta',
                'id': u'Bantuan',
                'io': u'Helpo',
                'is': u'Hjálp',
                'it': u'Aiuto',
                'jv': u'Pitulung',
                'ka': u'დახმარება',
                'kaa': u'Anıqlama',
                'kab': u'Tallat',
                'kk': u'Анықтама',
                'kl': [u'Ikiuutit', u'Hjælp'],
                'km': u'ជំនួយ',
                'kn': u'ಸಹಾಯ',
                'ko': u'도움말',
                'ksh': [u'Hölp', u'Hülp'],
                'ku': u'Alîkarî',
                'kv': u'Справка',
                'kw': u'Gweres',
                'la': u'Auxilium',
                'lad': u'Ayuda',
                'lb': u'Hëllef',
                'lbe': u'Кумаг',
                'lij': [u'Agiûtto', u'Aiuto'],
                'lmo': [u'Jüt', u'Aiuto'],
                'ln': u'Aide',
                'lo': u'ຊ່ວຍເຫຼືອ',
                'lt': u'Pagalba',
                'lv': u'Palīdzība',
                'map-bms': u'Pitulung',
                'mdf': u'Лезкс',
                'mg': [u'Fanoroana', u'Aide'],
                'mhr': [u'Полшык', u'Справка'],
                'mk': u'Помош',
                'ml': u'സഹായം',
                'mn': u'Тусламж',
                'mr': [u'सहाय्य', u'साहाय्य'],
                'ms': u'Bantuan',
                'mt': [u'Għajnuna', u'Ghajnuna'],
                'mwl': u'Ajuda',
                'myv': u'Лезкс',
                'mzn': [u'رانه‌ما', u'راهنما'],
                'nah': [u'Tēpalēhuiliztli', u'Ayuda'],
                'nap': [u'Ajùto', u'Aiuto'],
                'nds': u'Hülp',
                'nds-nl': u'Hulpe',
                'new': u'ग्वाहालि',
                'nn': u'Hjelp',
                'no': u'Hjelp',
                'nv': u"Aná'álwo'",
                'oc': u'Ajuda',
                'os': u'Æххуыс',
                'pa': u'ਮਦਦ',
                'pdc': u'Hilfe',
                'pl': u'Pomoc',
                'pms': u'Agiut',
                'pnt': u'Βοήθειαν',
                'ps': u'لارښود',
                'pt': u'Ajuda',
                'qu': u'Yanapa',
                'rmy': [u'Zhutipen', u'Ajutor'],
                'ro': u'Ajutor',
                'ru': u'Справка',
                'sa': u'सहाय्य',
                'sah': u'Көмө',
                'sc': u'Agiudu',
                'scn': u'Aiutu',
                'sd': u'مدد',
                'sg': u'Aide',
                'si': u'උදවු',
                'sk': u'Pomoc',
                'sl': u'Pomoč',
                'sq': u'Ndihmë',
                'sr': u'Помоћ',
                'srn': u'Yepi',
                'stq': u'Hälpe',
                'su': u'Pitulung',
                'sv': u'Hjälp',
                'sw': u'Msaada',
                'szl': u'Pomoc',
                'ta': u'உதவி',
                'te': [u'సహాయం', u'సహాయము'],
                'tet': u'Ajuda',
                'tg': u'Роҳнамо',
                'th': u'วิธีใช้',
                'tk': u'Ýardam',
                'tl': u'Tulong',
                'tlh': u'QaH',
                'tr': u'Yardım',
                'tt': [u'Ярдәм', u'Yärdäm'],
                'ty': u'Aide',
                'udm': u'Валэктон',
                'uk': u'Довідка',
                'ur': u'معاونت',
                'uz': u'Yordam',
                'vec': u'Aiuto',
                'vi': u'Trợ giúp',
                'vls': u'Ulpe',
                'vo': u'Yuf',
                'wa': u'Aidance',
                'wo': [u'Ndimbal', u'Aide'],
                'wuu': u'帮助',
                'xal': u'Цəəлһлһн',
                'yi': u'הילף',
                'yo': u'Ìrànlọ́wọ́',
                'za': u'帮助',
                'zea': u'Ulpe',
                'zh': [u'Help', u'帮助', u'幫助'],
            },
            13: {
                '_default': u'Help talk',
                'ab': u'Обсуждение справки',
                'ace': u'Pembicaraan Bantuan',
                'af': u'Hulpbespreking',
                'als': u'Hilfe Diskussion',
                'am': u'እርዳታ ውይይት',
                'an': u'Descusión aduya',
                'ang': u'Helpgesprec',
                'ar': u'نقاش المساعدة',
                'arc': u'ܡܡܠܠܐ ܕܥܘܕܪܢܐ',
                'arz': u'نقاش المساعدة',
                'as': u'সহায় বার্তা',
                'ast': u'Aida alderique',
                'av': u'Обсуждение справки',
                'ay': u'Ayuda Discusión',
                'az': u'Kömək müzakirəsi',
                'ba': u'Белешмә б-са фекер алышыу',
                'bar': u'Hilfe Diskussion',
                'bat-smg': u'Pagelbas aptarėms',
                'bcl': u'Olay sa tabang',
                'be': u'Размовы пра даведку',
                'be-x-old': u'Абмеркаваньне дапамогі',
                'bg': u'Помощ беседа',
                'bm': u'Discussion aide',
                'bn': u'সাহায্য আলোচনা',
                'bpy': u'পাংলাকর য়্যারী',
                'br': u'Kaozeadenn Skoazell',
                'bs': u'Razgovor o pomoći',
                'bug': u'Pembicaraan Bantuan',
                'ca': u'Ajuda Discussió',
                'cbk-zam': u'Ayuda Discusión',
                'ce': u'ГІодан дийца',
                'ceb': u'Hisgot sa Tabang',
                'ch': u'Kombetsasion ni ayudo',
                'ckb': u'لێدوانی یارمەتی',
                'crh': [u'Yardım muzakeresi', u'Разговор о помоћи'],
                'cs': u'Nápověda diskuse',
                'csb': u'Diskùsëjô Pòmòcë',
                'cu': u'По́мощи бєсѣ́да',
                'cv': u'Пулăшăва сӳтсе явмалли',
                'cy': u'Sgwrs Cymorth',
                'da': u'Hjælp-diskussion',
                'de': u'Hilfe Diskussion',
                'dsb': u'Diskusija wó pomocy',
                'dv': u'އެހީ ޚިޔާލު',
                'el': u'Συζήτηση βοήθειας',
                'eml': u'Discussioni aiuto',
                'eo': u'Helpa diskuto',
                'es': u'Ayuda Discusión',
                'et': u'Juhendi arutelu',
                'eu': u'Laguntza eztabaida',
                'fa': u'بحث راهنما',
                'ff': u'Discussion aide',
                'fi': u'Keskustelu ohjeesta',
                'fiu-vro': u'Oppusõ arotus',
                'fo': [u'Hjálparkjak', u'Hjálp kjak'],
                'fr': u'Discussion aide',
                'frp': u'Discussion éde',
                'fur': u'Discussion jutori',
                'fy': u'Hulp oerlis',
                'ga': u'Plé cabhrach',
                'gan': u'Help talk',
                'gl': [u'Conversa axuda', u'Conversa Axuda'],
                'glk': u'بحث راهنما',
                'gn': u'Pytyvõ myangekõi',
                'gu': u'મદદની ચર્ચા',
                'gv': u'Resooney cooney',
                'haw': u'Kūkākūkā o kōkua',
                'he': u'שיחת עזרה',
                'hi': u'सहायता वार्ता',
                'hr': u'Razgovor o pomoći',
                'hsb': u'Pomoc diskusija',
                'ht': u'Diskisyon Èd',
                'hu': u'Segítségvita',
                'hy': u'Օգնության քննարկում',
                'ia': u'Discussion Adjuta',
                'id': u'Pembicaraan Bantuan',
                'io': u'Helpo Debato',
                'is': u'Hjálparspjall',
                'it': u'Discussioni aiuto',
                'ja': u'Help‐ノート',
                'jv': u'Dhiskusi Pitulung',
                'ka': [u'დახმარების განხილვა', u'დახმარება განხილვა'],
                'kaa': u"Anıqlama sa'wbeti",
                'kab': u'Amyannan n tallat',
                'kk': u'Анықтама талқылауы',
                'kl': [u'Ikiuutini oqallinneq', u'Hjælp-diskussion'],
                'km': u'ការពិភាក្សាអំពីជំនួយ',
                'kn': u'ಸಹಾಯ ಚರ್ಚೆ',
                'ko': u'도움말토론',
                'ksh': [u'Hölp Klaaf', u'Hülp Klaaf'],
                'ku': u'Alîkarî nîqaş',
                'kv': u'Обсуждение справки',
                'kw': [u'Kescows Gweres', u'Cows Gweres'],
                'la': u'Disputatio Auxilii',
                'lad': u'Ayuda Discusión',
                'lb': u'Hëllef Diskussioun',
                'lbe': u'Кумаграясса ихтилат',
                'li': u'Euverlèk help',
                'lij': [u'Discûscioîn agiûtto', u'Discussioni aiuto'],
                'lmo': [u'Ciciarada Jüt', u'Discussioni aiuto'],
                'ln': u'Discussion aide',
                'lo': u'ສົນທະນາກ່ຽວກັບຊ່ວຍເຫຼືອ',
                'lt': u'Pagalbos aptarimas',
                'lv': u'Palīdzības diskusija',
                'map-bms': u'Dhiskusi Pitulung',
                'mdf': u'Лезкс корхнема',
                'mg': [u'Dinika amin\'ny fanoroana', u'Discussion Aide'],
                'mhr': [u'Полшыкын каҥашымаш', u'Обсуждение справки'],
                'mk': u'Разговор за помош',
                'ml': u'സഹായത്തിന്റെ സംവാദം',
                'mn': u'Тусламжийн хэлэлцүүлэг',
                'mr': [u'सहाय्य चर्चा', u'साहाय्य चर्चा'],
                'ms': u'Perbincangan Bantuan',
                'mt': [u'Diskussjoni għajnuna', u'Diskussjoni ghajnuna'],
                'mwl': u'Cumbersa ajuda',
                'myv': u'Лезкстэ кортамось',
                'mzn': [u'رانه‌مای گپ', u'بحث راهنما'],
                'nah': [u'Tēpalēhuiliztli tēixnāmiquiliztli', u'Ayuda Discusión'],
                'nap': [u'Ajùto chiàcchiera', u'Discussioni aiuto'],
                'nds': u'Hülp Diskuschoon',
                'nds-nl': u'Overleg hulpe',
                'new': u'ग्वाहालि खँलाबँला',
                'nl': u'Overleg help',
                'nn': u'Hjelpdiskusjon',
                'no': u'Hjelpdiskusjon',
                'nv': u"Aná'álwo' baa yinísht'į́",
                'oc': u'Discussion Ajuda',
                'os': u'Æххуысы тыххæй дискусси',
                'pa': u'ਮਦਦ ਚਰਚਾ',
                'pdc': u'Hilfe Diskussion',
                'pl': u'Dyskusja pomocy',
                'pms': u"Discussion ant sl'agiut",
                'pnt': u'Καλάτσεμαν βοήθειας',
                'ps': u'د لارښود خبرې اترې',
                'pt': u'Ajuda Discussão',
                'qu': u'Yanapa rimanakuy',
                'rmy': [u'Zhutipen vakyarimata', u'Discuţie Ajutor'],
                'ro': u'Discuţie Ajutor',
                'ru': u'Обсуждение справки',
                'sa': u'सहाय्यसंभाषणं',
                'sah': u'Көмө ырытыыта',
                'sc': u'Cuntierra agiudu',
                'scn': u'Discussioni aiutu',
                'sd': u'مدد بحث',
                'sg': u'Discussion aide',
                'si': [u'උදවු සාකච්ඡාව', u'උදව සාකච්ඡාව'],
                'sk': u'Diskusia k pomoci',
                'sl': u'Pogovor o pomoči',
                'sq': u'Ndihmë diskutim',
                'sr': u'Разговор о помоћи',
                'srn': [u'Taki fu yepi', u'Overleg help'],
                'stq': u'Hälpe Diskussion',
                'su': u'Obrolan pitulung',
                'sv': u'Hjälpdiskussion',
                'sw': u'Msaada majadiliano',
                'szl': u'Dyskusja pomocy',
                'ta': u'உதவி பேச்சு',
                'te': [u'సహాయం చర్చ', u'సహాయము చర్చ'],
                'tet': u'Diskusaun Ajuda',
                'tg': u'Баҳси роҳнамо',
                'th': u'คุยเรื่องวิธีใช้',
                'tk': u'Ýardam çekişme',
                'tl': u'Usapang tulong',
                'tlh': u"QaH ja'chuq",
                'tr': u'Yardım tartışma',
                'tt': [u'Ярдәм бәхәсе', u'Yärdäm bäxäse'],
                'ty': u'Discussion aide',
                'udm': u'Валэктон сярысь вераськон',
                'uk': u'Обговорення довідки',
                'ur': u'تبادلۂ خیال معاونت',
                'uz': u'Yordam munozarasi',
                'vec': u'Discussion aiuto',
                'vi': u'Thảo luận Trợ giúp',
                'vls': u'Discuusje ulpe',
                'vo': u'Yufibespik',
                'wa': u'Aidance copene',
                'wo': [u'Waxtaani ndimbal', u'Discussion Aide'],
                'wuu': u'帮助讨论',
                'xal': u'Цəəлһлһин тускар ухалвр',
                'yi': u'הילף רעדן',
                'yo': u'Ọ̀rọ̀ ìrànlọ́wọ́',
                'za': u'帮助讨论',
                'zea': u'Overleg ulpe',
                'zh': [u'Help talk', u'帮助讨论', u'幫助討論', u'幫助對話', u'帮助对话'],
            },
            14: {
                '_default': u'Category',
                'ab': u'Категория',
                'ace': u'Kategori',
                'af': u'Kategorie',
                'als': u'Kategorie',
                'am': u'መደብ',
                'an': u'Categoría',
                'ang': u'Flocc',
                'ar': u'تصنيف',
                'arc': u'ܣܕܪܐ',
                'arz': u'تصنيف',
                'as': [u'শ্রেণী', u'श्रेणी'],
                'ast': u'Categoría',
                'av': u'Категория',
                'ay': u'Categoría',
                'az': u'Kateqoriya',
                'ba': u'Категория',
                'bar': u'Kategorie',
                'bat-smg': [u'Kateguorėjė', u'Kategorija'],
                'bcl': u'Kategorya',
                'be': u'Катэгорыя',
                'be-x-old': u'Катэгорыя',
                'bg': u'Категория',
                'bm': u'Catégorie',
                'bn': u'বিষয়শ্রেণী',
                'bpy': u'থাক',
                'br': u'Rummad',
                'bs': u'Kategorija',
                'bug': u'Kategori',
                'ca': u'Categoria',
                'cbk-zam': u'Categoría',
                'ce': u'Тоба',
                'ceb': u'Kategoriya',
                'ch': u'Katigoria',
                'ckb': u'پۆل',
                'crh': [u'Kategoriya', u'Категория'],
                'cs': u'Kategorie',
                'csb': u'Kategòrëjô',
                'cu': [u'Катигорі́ꙗ', u'Катигорї'],
                'cv': u'Категори',
                'cy': u'Categori',
                'da': u'Kategori',
                'de': u'Kategorie',
                'dsb': u'Kategorija',
                'dv': u'ޤިސްމު',
                'el': u'Κατηγορία',
                'eml': u'Categoria',
                'eo': u'Kategorio',
                'es': u'Categoría',
                'et': u'Kategooria',
                'eu': u'Kategoria',
                'fa': u'رده',
                'ff': u'Catégorie',
                'fi': u'Luokka',
                'fiu-vro': u'Katõgooria',
                'fo': u'Bólkur',
                'fr': u'Catégorie',
                'frp': u'Catègorie',
                'fur': u'Categorie',
                'fy': u'Kategory',
                'ga': [u'Catagóir', u'Rang'],
                'gan': u'Category',
                'gl': u'Categoría',
                'glk': u'رده',
                'gn': u'Ñemohenda',
                'gu': u'શ્રેણી',
                'gv': u'Ronney',
                'haw': u'Māhele',
                'he': u'קטגוריה',
                'hi': u'श्रेणी',
                'hr': u'Kategorija',
                'hsb': u'Kategorija',
                'ht': u'Kategori',
                'hu': u'Kategória',
                'hy': u'Կատեգորիա',
                'ia': u'Categoria',
                'id': u'Kategori',
                'io': u'Kategorio',
                'is': u'Flokkur',
                'it': u'Categoria',
                'jv': u'Kategori',
                'ka': u'კატეგორია',
                'kaa': u'Kategoriya',
                'kab': u'Taggayt',
                'kk': u'Санат',
                'kl': [u'Sumut atassuseq', u'Kategori'],
                'km': [u'ចំនាត់ថ្នាក់ក្រុម', u'ចំណាត់ថ្នាក់ក្រុម'],
                'kn': u'ವರ್ಗ',
                'ko': u'분류',
                'ksh': [u'Saachjrupp', u'Sachjrop', u'Saachjropp', u'Kattejori', u'Kategorie', u'Katejori'],
                'ku': u'Kategorî',
                'kv': u'Категория',
                'kw': u'Class',
                'la': u'Categoria',
                'lad': u'Categoría',
                'lb': u'Kategorie',
                'lbe': u'Категория',
                'li': [u'Categorie', u'Kategorie'],
                'lij': [u'Categorîa', u'Categoria'],
                'lmo': [u'Categuria', u'Categoria'],
                'ln': u'Catégorie',
                'lo': u'ໝວດ',
                'lt': u'Kategorija',
                'lv': u'Kategorija',
                'map-bms': [u'Kategori', u'Kategorija'],
                'mdf': u'Категорие',
                'mg': [u'Sokajy', u'Catégorie'],
                'mhr': [u'Категорий', u'Категория'],
                'mk': u'Категорија',
                'ml': u'വര്‍ഗ്ഗം',
                'mn': u'Ангилал',
                'mr': u'वर्ग',
                'ms': u'Kategori',
                'mt': u'Kategorija',
                'mwl': u'Catadorie',
                'myv': u'Категория',
                'mzn': [u'رج', u'رده'],
                'nah': [u'Neneuhcāyōtl', u'Categoría'],
                'nap': [u'Categurìa', u'Categoria'],
                'nds': u'Kategorie',
                'nds-nl': [u'Kattegerie', u'Categorie'],
                'new': u'पुचः',
                'nl': u'Categorie',
                'nn': u'Kategori',
                'no': u'Kategori',
                'nv': u"T'ááłáhági át'éego",
                'oc': u'Categoria',
                'os': u'Категори',
                'pa': u'ਸ਼੍ਰੇਣੀ',
                'pdc': u'Kategorie',
                'pl': u'Kategoria',
                'pms': u'Categorìa',
                'pnt': u'Κατηγορίαν',
                'ps': u'وېشنيزه',
                'pt': u'Categoria',
                'qu': u'Katiguriya',
                'rmy': [u'Shopni', u'Categorie'],
                'ro': u'Categorie',
                'ru': u'Категория',
                'sa': u'वर्गः',
                'sah': u'Категория',
                'sc': u'Categoria',
                'scn': u'Catigurìa',
                'sd': u'زمرو',
                'sg': u'Catégorie',
                'sh': u'Kategorija',
                'si': u'ප්‍රවර්ගය',
                'sk': u'Kategória',
                'sl': u'Kategorija',
                'sq': [u'Kategoria', u'Kategori'],
                'sr': u'Категорија',
                'srn': [u'Guru', u'Categorie'],
                'stq': u'Kategorie',
                'su': u'Kategori',
                'sv': u'Kategori',
                'sw': u'Jamii',
                'szl': u'Kategoria',
                'ta': u'பகுப்பு',
                'te': u'వర్గం',
                'tet': u'Kategoria',
                'tg': u'Гурӯҳ',
                'th': u'หมวดหมู่',
                'tk': u'Kategoriýa',
                'tl': [u'Kaurian', u'Kategorya'],
                'tlh': u'Segh',
                'tr': u'Kategori',
                'tt': [u'Төркем', u'Törkem'],
                'ty': u'Catégorie',
                'udm': u'Категория',
                'uk': u'Категорія',
                'ur': u'زمرہ',
                'uz': [u'Turkum', u'Kategoriya'],
                'vec': u'Categoria',
                'vi': u'Thể loại',
                'vls': u'Categorie',
                'vo': u'Klad',
                'wa': u'Categoreye',
                'wo': [u'Wàll', u'Catégorie'],
                'wuu': u'分类',
                'xal': u'Янз',
                'yi': u'קאַטעגאָריע',
                'yo': u'Ẹ̀ka',
                'za': u'分类',
                'zea': u'Categorie',
                'zh': [u'Category', u'分类', u'分類'],
            },
            15: {
                '_default': u'Category talk',
                'ab': u'Обсуждение категории',
                'ace': u'Pembicaraan Kategori',
                'af': u'Kategoriebespreking',
                'als': u'Kategorie Diskussion',
                'am': u'መደብ ውይይት',
                'an': u'Descusión categoría',
                'ang': u'Floccgesprec',
                'ar': u'نقاش التصنيف',
                'arc': u'ܡܡܠܠܐ ܕܣܕܪܐ',
                'arz': u'نقاش التصنيف',
                'as': [u'শ্রেণী বার্তা', u'श्रेणी वार्ता'],
                'ast': u'Categoría alderique',
                'av': u'Обсуждение категории',
                'ay': u'Categoría Discusión',
                'az': u'Kateqoriya müzakirəsi',
                'ba': u'Категория б-са фекер алышыу',
                'bar': u'Kategorie Diskussion',
                'bat-smg': u'Kateguorėjės aptarėms',
                'bcl': u'Olay sa kategorya',
                'be': u'Размовы пра катэгорыю',
                'be-x-old': u'Абмеркаваньне катэгорыі',
                'bg': u'Категория беседа',
                'bm': u'Discussion catégorie',
                'bn': u'বিষয়শ্রেণী আলোচনা',
                'bpy': u'থাকর য়্যারী',
                'br': u'Kaozeadenn Rummad',
                'bs': u'Razgovor o kategoriji',
                'bug': u'Pembicaraan Kategori',
                'ca': u'Categoria Discussió',
                'cbk-zam': u'Categoría Discusión',
                'ce': u'Тобан дийца',
                'ceb': u'Hisgot sa Kategoriya',
                'ch': u'Kombetsasion ni katigoria',
                'ckb': u'لێدوانی پۆل',
                'crh': [u'Kategoriya muzakeresi', u'Категория музакереси'],
                'cs': u'Kategorie diskuse',
                'csb': u'Diskùsëjô Kategòrëji',
                'cu': [u'Катигорі́ѩ бєсѣ́да', u'Катигорїѩ бесѣда'  ],
                'cv': u'Категорине сӳтсе явмалли',
                'cy': u'Sgwrs Categori',
                'da': u'Kategoridiskussion',
                'de': u'Kategorie Diskussion',
                'dsb': u'Diskusija wó kategoriji',
                'dv': u'ޤިސްމު ޚިޔާލު',
                'el': u'Συζήτηση κατηγορίας',
                'eml': u'Discussioni categoria',
                'eo': u'Kategoria diskuto',
                'es': u'Categoría Discusión',
                'et': u'Kategooria arutelu',
                'eu': u'Kategoria eztabaida',
                'fa': u'بحث رده',
                'ff': u'Discussion catégorie',
                'fi': u'Keskustelu luokasta',
                'fiu-vro': u'Katõgooria arotus',
                'fo': [u'Bólkakjak', u'Bólkur kjak'],
                'fr': u'Discussion catégorie',
                'frp': u'Discussion catègorie',
                'fur': u'Discussion categorie',
                'fy': u'Kategory oerlis',
                'ga': u'Plé catagóire',
                'gan': u'Category talk',
                'gl': [u'Conversa categoría', u'Conversa Categoría'],
                'glk': u'بحث رده',
                'gn': u'Ñemohenda myangekõi',
                'gu': u'શ્રેણીની ચર્ચા',
                'gv': u'Resooney ronney',
                'haw': u'Kūkākūkā o māhele',
                'he': u'שיחת קטגוריה',
                'hi': u'श्रेणी वार्ता',
                'hr': u'Razgovor o kategoriji',
                'hsb': u'Diskusija ke kategoriji',
                'ht': u'Diskisyon Kategori',
                'hu': u'Kategóriavita',
                'hy': u'Կատեգորիայի քննարկում',
                'ia': u'Discussion Categoria',
                'id': u'Pembicaraan Kategori',
                'io': u'Kategorio Debato',
                'is': u'Flokkaspjall',
                'it': u'Discussioni categoria',
                'ja': u'Category‐ノート',
                'jv': u'Dhiskusi Kategori',
                'ka': [u'კატეგორიის განხილვა', u'კატეგორია განხილვა'],
                'kaa': u"Kategoriya sa'wbeti",
                'kab': u'Amyannan n taggayt',
                'kk': u'Санат талқылауы',
                'kl': [u'Sumut atassusermi oqallinneq', u'Kategoridiskussion'],
                'km': [u'ការពិភាក្សាអំពីចំនាត់ថ្នាក់ក្រុម', u'ការពិភាក្សាអំពីចំណាត់ថ្នាក់ក្រុម'],
                'kn': u'ವರ್ಗ ಚರ್ಚೆ',
                'ko': u'분류토론',
                'ksh': [u'Saachjruppe Klaaf', u'Saachjrupp Klaaf', u'Sachjrop Klaaf', u'Saachjroppe Klaaf', u'Kattejori Klaaf', u'Kategorie Klaaf', u'Katejorije Klaaf'],
                'ku': u'Kategorî nîqaş',
                'kv': u'Обсуждение категории',
                'kw': [u'Kescows Class', u'Cows Class'],
                'la': u'Disputatio Categoriae',
                'lad': u'Categoría Discusión',
                'lb': u'Kategorie Diskussioun',
                'lbe': u'Категориялиясса ихтилат',
                'li': [u'Euverlèk categorie', u'Euverlèk kategorie'],
                'lij': [u'Discûscioîn categorîa', u'Discussioni categoria'],
                'lmo': [u'Ciciarada Categuria', u'Discussioni categoria'],
                'ln': u'Discussion catégorie',
                'lo': u'ສົນທະນາກ່ຽວກັບໝວດ',
                'lt': u'Kategorijos aptarimas',
                'lv': u'Kategorijas diskusija',
                'map-bms': u'Dhiskusi Kategori',
                'mdf': u'Категорие корхнема',
                'mg': [u'Dinika amin\'ny sokajy', u'Dinika amini\'ny sokajy', u'Discussion Catégorie'],
                'mhr': [u'Категорийын каҥашымаш', u'Обсуждение категории'],
                'mk': u'Разговор за категорија',
                'ml': u'വര്‍ഗ്ഗത്തിന്റെ സംവാദം',
                'mn': u'Ангиллын хэлэлцүүлэг',
                'mr': u'वर्ग चर्चा',
                'ms': u'Perbincangan Kategori',
                'mt': u'Diskussjoni kategorija',
                'mwl': u'Cumbersa catadorie',
                'myv': u'Категориядо кортамось',
                'mzn': [u'رج گپ', u'بحث رده'],
                'nah': [u'Neneuhcāyōtl tēixnāmiquiliztli', u'Categoría Discusión'],
                'nap': [u'Categurìa chiàcchiera', u'Discussioni categoria'],
                'nds': u'Kategorie Diskuschoon',
                'nds-nl': [u'Overleg kattegerie', 'Overleg categorie'],
                'new': u'पुचः खँलाबँला',
                'nl': u'Overleg categorie',
                'nn': u'Kategoridiskusjon',
                'no': u'Kategoridiskusjon',
                'nv': u"T'ááłáhági át'éego baa yinísht'į́",
                'oc': u'Discussion Categoria',
                'os': u'Категорийы тыххæй дискусси',
                'pa': u'ਸ਼੍ਰੇਣੀ ਚਰਚਾ',
                'pdc': u'Kategorie Diskussion',
                'pl': u'Dyskusja kategorii',
                'pms': u'Discussion ant sla categorìa',
                'pnt': u'Καλάτσεμαν κατηγορίας',
                'ps': u'د وېشنيزې خبرې اترې',
                'pt': u'Categoria Discussão',
                'qu': u'Katiguriya rimanakuy',
                'rmy': [u'Shopni vakyarimata', u'Discuţie Categorie'],
                'ro': u'Discuţie Categorie',
                'ru': u'Обсуждение категории',
                'sa': u'वर्गसंभाषणं',
                'sah': u'Категория ырытыыта',
                'sc': u'Cuntierra categoria',
                'scn': u'Discussioni catigurìa',
                'sd': u'زمرو بحث',
                'sg': u'Discussion catégorie',
                'sh': u'Razgovor o kategoriji',
                'si': u'ප්‍රවර්ග සාකච්ඡාව',
                'sk': u'Diskusia ku kategórii',
                'sl': u'Pogovor o kategoriji',
                'sq': [u'Kategoria diskutim', u'Kategori Diskutim'],
                'sr': u'Разговор о категорији',
                'srn': [u'Taki fu guru', u'Overleg categorie'],
                'stq': u'Kategorie Diskussion',
                'su': u'Obrolan kategori',
                'sv': u'Kategoridiskussion',
                'sw': u'Jamii majadiliano',
                'szl': u'Dyskusja kategorii',
                'ta': u'பகுப்பு பேச்சு',
                'te': u'వర్గం చర్చ',
                'tet': u'Diskusaun Kategoria',
                'tg': u'Баҳси гурӯҳ',
                'th': u'คุยเรื่องหมวดหมู่',
                'tk': u'Kategoriýa çekişme',
                'tl': [u'Usapang kaurian', u'Usapang kategorya'],
                'tlh': u"Segh ja'chuq",
                'tr': u'Kategori tartışma',
                'tt': [u'Төркем бәхәсе', u'Törkem bäxäse'],
                'ty': u'Discussion catégorie',
                'udm': u'Категория сярысь вераськон',
                'uk': u'Обговорення категорії',
                'ur': u'تبادلۂ خیال زمرہ',
                'uz': u'Turkum munozarasi',
                'vec': u'Discussion categoria',
                'vi': u'Thảo luận Thể loại',
                'vls': u'Discuusje categorie',
                'vo': u'Kladibespik',
                'wa': u'Categoreye copene',
                'wo': [u'Waxtaani wàll', u'Discussion Catégorie'],
                'wuu': u'分类讨论',
                'xal': u'Янзин тускар ухалвр',
                'yi': u'קאַטעגאָריע רעדן',
                'yo': u'Ọ̀rọ̀ ẹ̀ka',
                'za': u'分类讨论',
                'zea': u'Overleg categorie',
                'zh': [u'Category talk', u'分类讨论', u'分類討論', u'分类对话', u'分類對話'],
            },
        }

        # letters that can follow a wikilink and are regarded as part of this link
        # This depends on the linktrail setting in LanguageXx.php and on
        # [[MediaWiki:Linktrail]].
        # Note: this is a regular expression.
        self.linktrails = {
           '_default': u'[a-z]*',
           'de': u'[a-zäöüß]*',
           'da': u'[a-zæøå]*',
           'fi': u'[a-zåäö]*',
           'fr': u'[a-zàâçéèêîôû]*',
           'he': u'[a-zא-ת]*',
           'hu': u'[a-záéíóúöüőűÁÉÍÓÚÖÜŐŰ]*',
           'it': u'[a-zàèéìòù]*',
           'kk': u'[a-zäçéğıïñöşüýа-яёәғіқңөұүһʺʹ]*',
           'ksh': u'[äöüėëĳßəğåůæœça-z]*',
           'nl': u'[a-zäöüïëéèéàç]*',
           'pt': u'[a-záâàãéêíóôõúüç]*',
           'ru': u'[a-zа-я]*',
        }

        # Wikimedia wikis all use "bodyContent" as the id of the <div>
        # element that contains the actual page content; change this for
        # wikis that use something else (e.g., mozilla family)
        self.content_id = "bodyContent"

        # A dictionary where keys are family codes that can be used in
        # inter-family interwiki links. Values are not used yet.
        # Generated from http://toolserver.org/~daniel/interwiki-en.txt:
        # remove interlanguage links from file, then run
        # f = open('interwiki-en.txt')
        # for line in f.readlines():
        #     s = line[:line.index('\t')]
        #     print (("            '%s':" % s).ljust(20) + ("'%s'," % s))
        self.known_families = {
            'abbenormal':       'abbenormal',
            'aboutccc':         'aboutccc',
            'acadwiki':         'acadwiki',
            'acronym':          'acronym',
            'advogato':         'advogato',
            'airwarfare':       'airwarfare',
            'aiwiki':           'aiwiki',
            'ajaxxab':          'ajaxxab',
            'alife':            'alife',
            'allwiki':          'allwiki',
            'annotation':       'annotation',
            'annotationwiki':   'annotationwiki',
            'archivecompress':  'archivecompress',
            'archivestream':    'archivestream',
            'arxiv':            'arxiv',
            'aspienetwiki':     'aspienetwiki',
            'atmwiki':          'atmwiki',
            'b':                'wikibooks',
            'battlestarwiki':   'battlestarwiki',
            'bemi':             'bemi',
            'benefitswiki':     'benefitswiki',
            'biblewiki':        'biblewiki',
            'bluwiki':          'bluwiki',
            'bmpcn':            'bmpcn',
            'boxrec':           'boxrec',
            'brasilwiki':       'brasilwiki',
            'brazilwiki':       'brazilwiki',
            'brickwiki':        'brickwiki',
            'bridgeswiki':      'bridgeswiki',
            'bryanskpedia':     'bryanskpedia',
            'bswiki':           'bswiki',
            'bugzilla':         'bugzilla',
            'buzztard':         'buzztard',
            'bytesmiths':       'bytesmiths',
            'c2':               'c2',
            'c2find':           'c2find',
            'cache':            'cache',
            'canyonwiki':       'canyonwiki',
            'canwiki':          'canwiki',
            'Ĉej':              'Ĉej',
            'cellwiki':         'cellwiki',
            'changemakers':     'changemakers',
            'chapter':          'chapter',
            'cheatswiki':       'cheatswiki',
            'chej':             'chej',
            'ciscavate':        'ciscavate',
            'cityhall':         'cityhall',
            'ckwiss':           'ckwiss',
            'cliki':            'cliki',
            'cmwiki':           'cmwiki',
            'cndbname':         'cndbname',
            'cndbtitle':        'cndbtitle',
            'codersbase':       'codersbase',
            'colab':            'colab',
            'comixpedia':       'comixpedia',
            'commons':          'commons',
            'communityscheme':  'communityscheme',
            'consciousness':    'consciousness',
            'corpknowpedia':    'corpknowpedia',
            'cpanelwiki':       'cpanelwiki',
            'choralwiki':       'choralwiki',
            'craftedbycarol':   'craftedbycarol',
            'crazyhacks':       'crazyhacks',
            'creationmatters':  'creationmatters',
            'creatureswiki':    'creatureswiki',
            'cxej':             'cxej',
            'dawiki':           'dawiki',
            'dcdatabase':       'dcdatabase',
            'dcma':             'dcma',
            'dejanews':         'dejanews',
            'delicious':        'delicious',
            'demokraatia':      'demokraatia',
            'devmo':            'devmo',
            'dictionary':       'dictionary',
            'dict':             'dict',
            'disinfopedia':     'disinfopedia',
            'diveintoosx':      'diveintoosx',
            'dndwiki':          'dndwiki',
            'docbook':          'docbook',
            'dolphinwiki':      'dolphinwiki',
            'doom_wiki':        'doom_wiki',
            'drae':             'drae',
            'drumcorpswiki':    'drumcorpswiki',
            'dwellerswiki':     'dwellerswiki',
            'dwjwiki':          'dwjwiki',
            'ebwiki':           'ebwiki',
            'eĉei':             'eĉei',
            'echei':            'echei',
            'echolink':         'echolink',
            'ecoreality':       'ecoreality',
            'ecxei':            'ecxei',
            'editcount':        'editcount',
            'efnetceewiki':     'efnetceewiki',
            'efnetcppwiki':     'efnetcppwiki',
            'efnetpythonwiki':  'efnetpythonwiki',
            'efnetxmlwiki':     'efnetxmlwiki',
            'elibre':           'elibre',
            'eljwiki':          'eljwiki',
            'emacswiki':        'emacswiki',
            'encyclopediadramatica':'encyclopediadramatica',
            'energiewiki':      'energiewiki',
            'eokulturcentro':   'eokulturcentro',
            'evowiki':          'evowiki',
            'fanimutationwiki': 'fanimutationwiki',
            'finalempire':      'finalempire',
            'finalfantasy':     'finalfantasy',
            'finnix':           'finnix',
            'firstwiki':        'firstwiki',
            'flickruser':       'flickruser',
            'floralwiki':       'floralwiki',
            'foldoc':           'foldoc',
            'forthfreak':       'forthfreak',
            'foundation':       'foundation',
            'foxwiki':          'foxwiki',
            'freebio':          'freebio',
            'freebsdman':       'freebsdman',
            'freeculturewiki':  'freeculturewiki',
            'freefeel':         'freefeel',
            'freekiwiki':       'freekiwiki',
            'gamewiki':         'gamewiki',
            'ganfyd':           'ganfyd',
            'gatorpedia':       'gatorpedia',
            'gausswiki':        'gausswiki',
            'gentoo-wiki':      'gentoo',
            'genwiki':          'genwiki',
            'glencookwiki':     'glencookwiki',
            'globalvoices':     'globalvoices',
            'glossarwiki':      'glossarwiki',
            'glossarywiki':     'glossarywiki',
            'golem':            'golem',
            'google':           'google',
            'googlegroups':     'googlegroups',
            'gotamac':          'gotamac',
            'greencheese':      'greencheese',
            'guildwiki':        'guildwiki',
            'h2wiki':           'h2wiki',
            'hammondwiki':      'hammondwiki',
            'haribeau':         'haribeau',
            'herzkinderwiki':   'herzkinderwiki',
            'hewikisource':     'hewikisource',
            'hkmule':           'hkmule',
            'holshamtraders':   'holshamtraders',
            'hrwiki':           'hrwiki',
            'hrfwiki':          'hrfwiki',
            'humancell':        'humancell',
            'hupwiki':          'hupwiki',
            'iawiki':           'iawiki',
            'imdbname':         'imdbname',
            'imdbtitle':        'imdbtitle',
            'infoanarchy':      'infoanarchy',
            'infobase':         'infobase',
            'infosecpedia':     'infosecpedia',
            'iso639-3':         'iso639-3',
            'iuridictum':       'iuridictum',
            'jameshoward':      'jameshoward',
            'jargonfile':       'jargonfile',
            'javanet':          'javanet',
            'javapedia':        'javapedia',
            'jefo':             'jefo',
            'jiniwiki':         'jiniwiki',
            'jspwiki':          'jspwiki',
            'jstor':            'jstor',
            'kamelo':           'kamelo',
            'karlsruhe':        'karlsruhe',
            'kerimwiki':        'kerimwiki',
            'kinowiki':         'kinowiki',
            'kmwiki':           'kmwiki',
            'knowhow':          'knowhow',
            'kontuwiki':        'kontuwiki',
            'koslarwiki':       'koslarwiki',
            'lanifexwiki':      'lanifexwiki',
            'linuxwiki':        'linuxwiki',
            'linuxwikide':      'linuxwikide',
            'liswiki':          'liswiki',
            'lojban':           'lojban',
            'lollerpedia':      'lollerpedia',
            'lovebox':          'lovebox',
            'lqwiki':           'lqwiki',
            'lugkr':            'lugkr',
            'lurkwiki':         'lurkwiki',
            'lutherwiki':       'lutherwiki',
            'lvwiki':           'lvwiki',
            'm':                'meta',
            'm-w':              'm-w',
            'mail':             'mail',
            'marveldatabase':   'marveldatabase',
            'mathsongswiki':    'mathsongswiki',
            'mbtest':           'mbtest',
            'meatball':         'meatball',
            'mediazilla':       'mediazilla',
            'memoryalpha':      'memoryalpha',
            'meta':             'meta',
            'metareciclagem':   'metareciclagem',
            'metaweb':          'metaweb',
            'metawiki':         'metawiki',
            'metawikipedia':    'metawikipedia',
            'mineralienatlas':  'mineralienatlas',
            'mjoo':             'mjoo',
            'moinmoin':         'moinmoin',
            'mozcom':           'mozcom',
            'mozillawiki':      'mozillawiki',
            'mozillazinekb':    'mozillazinekb',
            'mozwiki':          'mozwiki',
            'musicbrainz':      'musicbrainz',
            'muweb':            'muweb',
            'mw':               'mw',
            'mwod':             'mwod',
            'mwot':             'mwot',
            'myspace':          'myspace',
            'mytips':           'mytips',
            'n':                'wikinews',
            'netvillage':       'netvillage',
            'nkcells':          'nkcells',
            'nomad':            'nomad',
            'nosmoke':          'nosmoke',
            'nost':             'nost',
            'nswiki':           'nswiki',
            'oeis':             'oeis',
            'oldwikisource':    'oldwikisource',
            'onelook':          'onelook',
            'ourpeachtreecorners':'ourpeachtreecorners',
            'openfacts':        'openfacts',
            'opensourcesportsdirectory':'opensourcesportsdirectory',
            'openwetware':      'openwetware',
            'openwiki':         'openwiki',
            'opera7wiki':       'opera7wiki',
            'organicdesign':    'organicdesign',
            'orgpatterns':      'orgpatterns',
            'orthodoxwiki':     'orthodoxwiki',
            'osi reference model':'osi reference model',
            'ourmedia':         'ourmedia',
            'paganwiki':        'paganwiki',
            'panawiki':         'panawiki',
            'pangalacticorg':   'pangalacticorg',
            'patwiki':          'patwiki',
            'perlconfwiki':     'perlconfwiki',
            'perlnet':          'perlnet',
            'personaltelco':    'personaltelco',
            'phwiki':           'phwiki',
            'phpwiki':          'phpwiki',
            'pikie':            'pikie',
            'planetmath':       'planetmath',
            'pmeg':             'pmeg',
            'pmwiki':           'pmwiki',
            'purlnet':          'purlnet',
            'pythoninfo':       'pythoninfo',
            'pythonwiki':       'pythonwiki',
            'pywiki':           'pywiki',
            'psycle':           'psycle',
            'q':                'wikiquote',
            'quakewiki':        'quakewiki',
            'qwiki':            'qwiki',
            'r3000':            'r3000',
            'rakwiki':          'rakwiki',
            'raec':             'raec',
            'redwiki':          'redwiki',
            'revo':             'revo',
            'rfc':              'rfc',
            'rheinneckar':      'rheinneckar',
            'robowiki':         'robowiki',
            'rowiki':           'rowiki',
            'rtfm':             'rtfm',
            's':                'wikisource',
            's23wiki':          's23wiki',
            'scoutpedia':       'scoutpedia',
            'seapig':           'seapig',
            'seattlewiki':      'seattlewiki',
            'seattlewireless':  'seattlewireless',
            'seeds':            'seeds',
            'senseislibrary':   'senseislibrary',
            'sep11':            'sep11',
            'shakti':           'shakti',
            'shownotes':        'shownotes',
            'siliconvalley':    'siliconvalley',
            'slashdot':         'slashdot',
            'slskrex':          'slskrex',
            'smikipedia':       'smikipedia',
            'sockwiki':         'sockwiki',
            'sourceforge':      'sourceforge',
            'sourcextreme':     'sourcextreme',
            'squeak':           'squeak',
            'stockphotoss':     'stockphotoss',
            'strikiwiki':       'strikiwiki',
            'susning':          'susning',
            'svgwiki':          'svgwiki',
            'swinbrain':        'swinbrain',
            'swingwiki':        'swingwiki',
            'tabwiki':          'tabwiki',
            'takipedia':        'takipedia',
            'tamriel':          'tamriel',
            'tavi':             'tavi',
            'tclerswiki':       'tclerswiki',
            'technorati':       'technorati',
            'tejo':             'tejo',
            'terrorwiki':       'terrorwiki',
            'tesoltaiwan':      'tesoltaiwan',
            'thelemapedia':     'thelemapedia',
            'theo':             'theo',
            'theopedia':        'theopedia',
            'theowiki':         'theowiki',
            'theppn':           'theppn',
            'thinkwiki':        'thinkwiki',
            'tibiawiki':        'tibiawiki',
            'tmbw':             'tmbw',
            'tmnet':            'tmnet',
            'tmwiki':           'tmwiki',
            'toyah':            'toyah',
            'trash!italia':     'trash!italia',
            'turismo':          'turismo',
            'tviv':             'tviv',
            'twiki':            'twiki',
            'twistedwiki':      'twistedwiki',
            'tyvawiki':         'tyvawiki',
            'uncyclopedia':     'uncyclopedia',
            'underverse':       'underverse',
            'unreal':           'unreal',
            'ursine':           'ursine',
            'usej':             'usej',
            'usemod':           'usemod',
            'v':                'wikiversity',
            'videoville':       'videoville',
            'villagearts':      'villagearts',
            'visualworks':      'visualworks',
            'vkol':             'vkol',
            'voipinfo':         'voipinfo',
            'w':                'wikipedia',
            'warpedview':       'warpedview',
            'webdevwikinl':     'webdevwikinl',
            'webisodes':        'webisodes',
            'webseitzwiki':     'webseitzwiki',
            'wiki':             'wiki',
            'wikia':            'wikia',
            'wikianso':         'wikianso',
            'wikibooks':        'wikibooks',
            'wikichristian':    'wikichristian',
            'wikicities':       'wikicities',
            'wikif1':           'wikif1',
            'wikifur':          'wikifur',
            'wikikto':          'wikikto',
            'wikimac-de':       'wikimac-de',
            'wikimac-fr':       'wikimac-fr',
            'wikimedia':        'wikimedia',
            'wikinews':         'wikinews',
            'wikinfo':          'wikinfo',
            'wikinurse':        'wikinurse',
            'wikipaltz':        'wikipaltz',
            'wikipedia':        'wikipedia',
            'wikipediawikipedia':'wikipediawikipedia',
            'wikiquote':        'wikiquote',
            'wikireason':       'wikireason',
            'wikisophia':       'wikisophia',
            'wikisource':       'wikisource',
            'wikiscripts':      'wikiscripts',
            'wikispecies':      'wikispecies',
            'wikiti':           'wikiti',
            'wikitravel':       'wikitravel',
            'wikitree':         'wikitree',
            'wikiveg':          'wikiveg',
            'wikiversity':      'wikiversity',
            'wikiwikiweb':      'wikiwikiweb',
            'wikiworld':        'wikiworld',
            'wikt':             'wiktionary',
            'wiktionary':       'wiktionary',
            'wipipedia':        'wipipedia',
            'wlug':             'wlug',
            'wlwiki':           'wlwiki',
            'wmania':           'wmania',
            'wookieepedia':     'wookieepedia',
            'world66':          'world66',
            'wowwiki':          'wowwiki',
            'wqy':              'wqy',
            'wurmpedia':        'wurmpedia',
            'wznan':            'wznan',
            'xboxic':           'xboxic',
            'ypsieyeball':      'ypsieyeball',
            'zrhwiki':          'zrhwiki',
            'zum':              'zum',
            'zwiki':            'zwiki',
            'zzz wiki':         'zzz wiki',
        }

        # A list of category redirect template names in different languages
        # Note: It *is* necessary to list template redirects here
        self.category_redirect_templates = {
            '_default': []
        }

        # A list of disambiguation template names in different languages
        self.disambiguationTemplates = {
            '_default': []
        }
        # A list with the projects could share cross-project sessions.
        self.cross_projects = []
        # A list with the name for cross-project cookies.
        # default for wikimedia centralAuth extensions.
        self.cross_projects_cookies = ['centralauth_Session', 'centralauth_Token', 'centralauth_User']
        self.cross_projects_cookie_username = 'centralauth_User'
        
        # A list with the name in the cross-language flag permissions
        self.cross_allowed = []
        
        # A list with the name of the category containing disambiguation
        # pages for the various languages. Only one category per language,
        # and without the namespace, so add things like:
        # 'en': "Disambiguation"
        self.disambcatname = {}

        # On most wikis page names must start with a capital letter, but some
        # languages don't use this.
        self.nocapitalize = []

        # attop is a list of languages that prefer to have the interwiki
        # links at the top of the page.
        self.interwiki_attop = []
        # on_one_line is a list of languages that want the interwiki links
        # one-after-another on a single line
        self.interwiki_on_one_line = []
        # String used as separator between interwiki links and the text
        self.interwiki_text_separator = '\r\n\r\n'

        # Similar for category
        self.category_attop = []
        # on_one_line is a list of languages that want the category links
        # one-after-another on a single line
        self.category_on_one_line = []
        # String used as separator between category links and the text
        self.category_text_separator = '\r\n\r\n'
        # When both at the bottom should categories come after interwikilinks?
        self.categories_last = []

        # Which languages have a special order for putting interlanguage
        # links, and what order is it? If a language is not in
        # interwiki_putfirst, alphabetical order on language code is used.
        # For languages that are in interwiki_putfirst, interwiki_putfirst
        # is checked first, and languages are put in the order given there.
        # All other languages are put after those, in code-alphabetical
        # order.
        self.interwiki_putfirst = {}

        # Languages in interwiki_putfirst_doubled should have a number plus
        # a list of languages. If there are at least the number of interwiki
        # links, all languages in the list should be placed at the front as
        # well as in the normal list.
        self.interwiki_putfirst_doubled = {}

        # Some families, e. g. commons and meta, are not multilingual and
        # forward interlanguage links to another family (wikipedia).
        # These families can set this variable to the name of the target
        # family.
        self.interwiki_forward = None

        # Which language codes no longer exist and by which language code
        # should they be replaced. If for example the language with code xx:
        # now should get code yy:, add {'xx':'yy'} to obsolete. If all
        # links to language xx: should be removed, add {'xx': None}.
        self.obsolete = {}

        # Language codes of the largest wikis. They should be roughly sorted
        # by size.
        self.languages_by_size = []

        # Some languages belong to a group where the possibility is high that
        # equivalent articles have identical titles among the group.
        self.language_groups = {
            # languages using the arabic script (incomplete)
            'arab' : [
                'ar', 'arz', 'ps', 'sd', 'ur', 'ckb',
                # languages using multiple scripts, including arabic
                'kk', 'ku', 'tt', 'ug', 'pnb'
            ],
            # languages that use chinese symbols
            'chinese': [
                'wuu', 'zh', 'zh-classical', 'zh-yue', 'gan', 'ii',
                # languages using multiple/mixed scripts, including chinese
                'ja', 'za'
            ],
            # languages that use the cyrillic alphabet
            'cyril': [
                'ab', 'av', 'ba', 'be', 'be-x-old', 'bg', 'bxr', 'ce', 'cu', 'cv', 'kv',
                'ky', 'mk', 'lbe', 'mdf', 'mn', 'mo', 'myv', 'os', 'ru', 'sah', 'tg',
                'tk', 'udm', 'uk', 'xal', 'mhr',
                # languages using multiple scripts, including cyrillic
                'ha', 'kk', 'sh', 'sr', 'tt'
            ],
            # languages that use a greek script
            'grec': [
                'el', 'grc', 'pnt'
                # languages using multiple scripts, including greek
            ],
            # languages that use the latin alphabet
            'latin': [
                'aa', 'ace', 'af', 'ak', 'als', 'an', 'ang', 'ast', 'ay', 'bar', 'bat-smg',
                'bcl', 'bi', 'bm', 'br', 'bs', 'ca', 'cbk-zam', 'cdo', 'ceb', 'ch',
                'cho', 'chy', 'co', 'crh', 'cs', 'csb', 'cy', 'da', 'de', 'diq', 'dsb',
                'ee', 'eml', 'en', 'eo', 'es', 'et', 'eu', 'ext', 'ff', 'fi', 'fiu-vro',
                'fj', 'fo', 'fr', 'frp', 'fur', 'fy', 'ga', 'gd', 'gl', 'gn', 'gv',
                'hak', 'haw', 'hif', 'ho', 'hr', 'hsb', 'ht', 'hu', 'hz', 'ia', 'id',
                'ie', 'ig', 'ik', 'ilo', 'io', 'is', 'it', 'jbo', 'jv', 'kaa', 'kab',
                'kg', 'ki', 'kj', 'kl', 'kr', 'ksh', 'kw', 'la', 'lad', 'lb', 'lg',
                'li', 'lij', 'lmo', 'ln', 'lt', 'lv', 'map-bms', 'mg', 'mh', 'mi', 'ms',
                'mt', 'mus', 'mwl', 'na', 'nah', 'nap', 'nds', 'nds-nl', 'ng', 'nl', 'nn',
                'no', 'nov', 'nrm', 'nv', 'ny', 'oc', 'om', 'pag', 'pam', 'pap', 'pdc',
                'pih', 'pl', 'pms', 'pt', 'qu', 'rm', 'rn', 'ro', 'roa-rup', 'roa-tara',
                'rw', 'sc', 'scn', 'sco', 'se', 'sg', 'simple', 'sk', 'sl', 'sm', 'sn',
                'so', 'sq', 'srn', 'ss', 'st', 'stq', 'su', 'sv', 'sw', 'szl', 'tet',
                'tl', 'tn', 'to', 'tpi', 'tr', 'ts', 'tum', 'tw', 'ty', 'uz', 've',
                'vec', 'vi', 'vls', 'vo', 'wa', 'war', 'wo', 'xh', 'yo', 'zea',
                'zh-min-nan', 'zu',
                # languages using multiple scripts, including latin
                'az', 'chr', 'ckb', 'ha', 'iu', 'kk', 'ku', 'rmy', 'sh', 'sr', 'tt',
                'ug', 'za'
            ],
            # Scandinavian languages
            'scand': [
                'da', 'fo', 'is', 'nb', 'nn', 'no', 'sv'
            ],
        }

        # LDAP domain if your wiki uses LDAP authentication,
        # http://www.mediawiki.org/wiki/Extension:LDAP_Authentication
        self.ldapDomain = ()

        # Allows crossnamespace interwiki linking.
        # Lists the possible crossnamespaces combinations
        # keys are originating NS
        # values are dicts where:
        #   keys are the originating langcode, or _default
        #   values are dicts where:
        #     keys are the languages that can be linked to from the lang+ns, or
        #     '_default'; values are a list of namespace numbers
        self.crossnamespace = {}
        ##
        ## Examples :
        ## Allowing linking to pt' 102 NS from any other lang' 0 NS is
        # self.crossnamespace[0] = {
        #     '_default': { 'pt': [102]}
        # }
        ## While allowing linking from pt' 102 NS to any other lang' = NS is
        # self.crossnamespace[102] = {
        #     'pt': { '_default': [0]}
        # }

    def _addlang(self, code, location, namespaces = {}):
        """Add a new language to the langs and namespaces of the family.
           This is supposed to be called in the constructor of the family."""
        self.langs[code] = location

        for num, val in namespaces.iteritems():
            self.namespaces[num][code]=val

    def get_known_families(self, site):
        return self.known_families

    def linktrail(self, code, fallback = '_default'):
        if code in self.linktrails:
            return self.linktrails[code]
        elif fallback:
            return self.linktrails[fallback]
        else:
            raise KeyError('ERROR: linktrail in language %s unknown' % code)

    def namespace(self, code, ns_number, fallback = '_default', all = False):
        if not self.isDefinedNS(ns_number):
            raise KeyError('ERROR: Unknown namespace %d for %s:%s' % (ns_number, code, self.name))
        elif self.isNsI18N(ns_number, code):
            v = self.namespaces[ns_number][code]
            if type(v) is not list:
                v = [v,]
            if all and self.isNsI18N(ns_number, fallback):
                v2 = self.namespaces[ns_number][fallback]
                if type(v2) is list:
                    v.extend(v2)
                else:
                    v.append(v2)
        elif fallback and self.isNsI18N(ns_number, fallback):
            v = self.namespaces[ns_number][fallback]
            if type(v) is not list:
                v = [v,]
        else:
            raise KeyError('ERROR: title for namespace %d in language %s unknown' % (ns_number, code))

        if all:
            namespaces = []

            # Unique list
            for ns in v:
                if ns not in namespaces:
                    namespaces.append(ns)

            # Lowercase versions of namespaces
            if code not in self.nocapitalize:
                namespaces.extend([ns[0].lower() + ns[1:] for ns in namespaces if ns and ns[0].lower() != ns[0].upper()])

            # Underscore versions of namespaces
            namespaces.extend([ns.replace(' ', '_') for ns in namespaces if ns and ' ' in ns])

            return tuple(namespaces)
        else:
            return v[0]

    def isDefinedNS(self, ns_number):
        """Return True if the namespace has been defined in this family.
        """
        return ns_number in self.namespaces

    def isNsI18N(self, ns_number, code):
        """Return True if the namespace has been internationalized.
        (it has a custom entry for a given language)"""
        return code in self.namespaces[ns_number]

    def isDefinedNSLanguage(self, ns_number, code, fallback='_default'):
        """Return True if the namespace has been defined in this family
        for this language or its fallback.
        """
        if not self.isDefinedNS(ns_number):
            return False
        elif self.isNsI18N(ns_number, code):
            return True
        elif fallback and self.isNsI18N(ns_number, fallback):
            return True
        else:
            return False

    def normalizeNamespace(self, code, value):
        """Given a value, attempt to match it with all available namespaces,
        with default and localized versions. Sites may have more than one
        way to write the same namespace - choose the first one in the list.
        If nothing can be normalized, return the original value.
        """
        for ns, localized_ns in self.namespaces.iteritems():
            if code in localized_ns:
                valid = localized_ns[code]
                if isinstance(valid, basestring):
                    valid = [valid]
                else:
                    valid = valid[:]
            else:
                valid = []
            if '_default' in localized_ns:
                default = localized_ns['_default']
                if isinstance(default, basestring):
                    default = [default]
                if default:
                    valid.extend(default)
            if not valid:
                continue
            if value in valid:
                return self.namespace(code, ns)
        return value

    def getNamespaceIndex(self, lang, namespace):
        """Given a namespace, attempt to match it with all available
        namespaces. Sites may have more than one way to write the same
        namespace - choose the first one in the list. Returns namespace
        index or None.
        """
        namespace = namespace.lower()
        for n in self.namespaces.keys():
            try:
                nslist = self.namespaces[n][lang]
                if type(nslist) is not list:
                    nslist = [nslist]
                for ns in nslist:
                    if ns.lower() == namespace:
                        return n
            except (KeyError,AttributeError):
                # The namespace has no localized name defined
                pass
        if lang != '_default':
            # This is not a localized namespace. Try if it
            # is a default (English) namespace.
            return self.getNamespaceIndex('_default', namespace)
        else:
            # give up
            return None

    def category_redirects(self, code, fallback="_default"):
        if code in self.category_redirect_templates:
            return self.category_redirect_templates[code]
        elif fallback:
            return self.category_redirect_templates[fallback]
        else:
            raise KeyError(
"ERROR: title for category redirect template in language '%s' unknown"
                % code)

    def disambig(self, code, fallback = '_default'):
        if code in self.disambiguationTemplates:
            return self.disambiguationTemplates[code]
        elif fallback:
            return self.disambiguationTemplates[fallback]
        else:
            raise KeyError(
                'ERROR: title for disambig template in language %s unknown'
                % code)

    # Returns the title of the special namespace in language 'code', taken from
    # dictionary above.
    # If the dictionary doesn't contain a translation, it will use language
    # 'fallback' (or, if fallback isn't given, MediaWiki default).
    # If you want the bot to crash in case of an unknown namespace name, use
    # fallback = None.
    def special_namespace(self, code, fallback = '_default'):
        return self.namespace(code, -1, fallback)

    def special_namespace_url(self, code, fallback = '_default'):
        encoded_title = self.namespace(code, -1, fallback).encode(self.code2encoding(code))
        return urllib.quote(encoded_title)

    def image_namespace(self, code, fallback = '_default'):
        return self.namespace(code, 6, fallback)

    def image_namespace_url(self, code, fallback = '_default'):
        encoded_title = self.namespace(code, 6, fallback).encode(self.code2encoding(code))
        return urllib.quote(encoded_title)

    def mediawiki_namespace(self, code, fallback = '_default'):
        return self.namespace(code, 8, fallback)

    def template_namespace(self, code, fallback = '_default'):
        return self.namespace(code, 10, fallback)

    def category_namespace(self, code, fallback = '_default'):
        return self.namespace(code, 14, fallback)

    def category_namespaces(self, code):
        return self.namespace(code, 14, all = True)

    # Localised magic words for language code 'xyz' can be found in
    # the MediaWiki source code in the file
    # /mediawiki/trunk/phase3/languages/messages/MessagesXyz.php
    # in the 'magicwords' array
    
    # Localised redirect codes

    # Note that redirect codes are case-insensitive, so it is enough
    # to enter the code in lowercase here.

    # When creating a redirect page, only the first item is looked for.
    # When matching for redirects, default 'redirect' is always inserted
    # => if default redirect keyword used for a language is not 'redirect',
    #    it is not necessary to add 'redirect' at the end of the list
    redirect = {
        'ab': [u'перенаправление', u'перенапр', u'redirect'],
        'ace': [u'alih'],
        'af': [u'aanstuur'],
        'aln': [u'ridrejto'],
        'als': [u'weiterleitung'],
        'an': [u'redirección'],
        'ar': [u'تحويل'],
        'arn': [u'redirección'],
        'arz': [u'تحويل'],
        'av': [u'перенаправление', u'перенапр'],
        'ay': [u'redirección'],
        'ba': [u'перенаправление', u'перенапр'],
        'bar': [u'weiterleitung'],
        'bat-smg': [u'peradresavimas'],
        'bcc': [u'تغییرمسیر'],
        'be-tarask': [u'перанакіраваньне'],
        'be-x-old': [u'перанакіраваньне'],
        'bg': [u'виж', u'пренасочване'],
        'bm': [u'redirection'],
        'bqi': [u'تغییرمسیر'],
        'br': [u'adkas'],
        'bug': [u'alih'],
        'bs': [u'preusmjeri'],
        'cbk-zam': [u'redirección'],
        'ce': [u'перенаправление', u'перенапр'],
        'cs': [u'přesměruj'],
        'cu': [u'прѣнаправлєниѥ'],
        'cv': [u'перенаправление', u'перенапр'],
        'cy': [u'ail-cyfeirio', u'ailgyfeirio'],
        'de': [u'weiterleitung'],
        'de-at': [u'weiterleitung'],
        'de-ch': [u'weiterleitung'],
        'de-formal': [u'weiterleitung'],
        'dsb': [u'weiterleitung'],
        'el': [u'ανακατευθυνση'],
        'eml': [u'rinvia', u'rinvio'],
        'eo': [u'alidirektu'],
        'es': [u'redirección'],
        'et': [u'suuna'],
        'eu': [u'birzuzendu'],
        'fa': [u'تغییرمسیر'],
        'ff': [u'redirection'],
        'fi': [u'ohjaus', u'uudelleenohjaus'],
        'fiu-vro': [u'saadaq'],
        'fr': [u'redirection'],
        'frp': [u'redirèccion', u'redirection'],
        'fur': [u'rinvia', u'rinvio'],
        'ga': [u'athsheoladh'],
        'gag': [u'yönlendirme'],
        'gl': [u'redirección'],
        'glk': [u'تغییرمسیر'],
        'gn': [u'redirección'],
        'gsw': [u'weiterleitung'],
        'he': [u'הפניה'],
        'hr': [u'preusmjeri'],
        'hsb': [u'weiterleitung'],
        'ht': [u'redirection'],
        'hu': [u'átirányítás'],
        'hy': [u'վերահղում'],
        'id': [u'alih'],
        'inh': [u'перенаправление', u'перенапр'],
        'is': [u'tilvísun'],
        'it': [u'rinvia', u'rinvio'],
        'ja': [u'転送', u'リダイレクト'],
        'jv': [u'alih'],
        'ka': [u'გადამისამართება'],
        'kaa': [u'aýdaw', u'айдау'],
        'kk': [u'айдау'],
        'kk-arab': [u'ايداۋ'],
        'kk-cyrl': [u'АЙДАУ'],
        'kk-latn': [u'aýdaw', u'айдау'],
        'km': [u'\u1794\u1789\u17d2\u1787\u17bc\u1793\u1794\u1793\u17d2\u178f',
               u'\u1794\u17d2\u178f\u17bc\u179a\u1791\u17b8\u178f\u17b6\u17c6\u1784',
               u'\u1794\u17d2\u178a\u17bc\u179a\u1785\u17c6\u178e\u1784\u1787\u17be\u1784',
               u'ប្តូរទីតាំងទៅ'],
        'ko': [u'넘겨주기'],
        'ksh': [u'ömleide op', u'ömleidung'],
        'kv': [u'перенаправление', u'перенапр'],
        'lad': [u'redirección'],
        'lb': [u'weiterleitung'],
        'lbe': [u'перенаправление', u'перенапр'],
        'li': [u'doorverwijzing'],
        'lij': [u'rinvia', u'rinvio'],
        'lld': [u'rinvia', u'rinvio'],
        'lmo': [u'rinvia', u'rinvio'],
        'ln': [u'redirection'],
        'lt': [u'peradresavimas'],
        'map-bms': [u'alih'],
        'mg': [u'redirection'],
        'mhr': [u'перенаправление', u'перенапр'],
        'mk': [u'пренасочување', u'види'],
        'ml': [u'തിരിച്ചുവിടുക', u'തിരിച്ചുവിടല്‍'],
        'mo': [u'redirecteaza'],
        'mr': [u'पुनर्निर्देशन'],
        'mt': [u'rindirizza'],
        'mwl': [u'ancaminar'],
        'myv': [u'перенаправление', u'перенапр'],
        'mzn': [u'تغییرمسیر'],
        'nah': [u'redirección'],
        'nap': [u'rinvia'],
        'nds': [u'wiederleiden', u'weiterleitung'],
        'nds-nl': [u'deurverwiezing', u'doorverwijzing'],
        'new': [u'पुनर्निर्देश'],
        'nl': [u'doorverwijzing'],
        'nn': [u'omdiriger'],
        'no': [u'omdirigering'],
        'oc': [u'redireccion'],
        'os': [u'рарвыст', u'перенаправление', u'перенапр'],
        'pdc': [u'weiterleitung'],
        'pl': [u'patrz', u'przekieruj', u'tam'],
        'pms': [u'rinvia', u'rinvio'],
        'pt': [u'redirecionamento'],
        'pt-br': [u'redirecionamento'],
        'qu': [u'pusapuna', u'redirección'],
        'rmy': [u'redirecteaza'],
        'ro': [u'redirecteaza'],
        'ru': [u'перенаправление', u'перенапр'],
        'sa': [u'पुनर्निदेशन'],
        'sah': [u'перенаправление', u'перенапр'],
        'scn': [u'rinvia', u'rinvio'],
        'sd': [u'چوريو'],
        'sg': [u'redirection'],
        'shi': [u'تحويل'],
        'si': [u'යළියොමුව'],
        'sk': [u'presmeruj'],
        'sl': [u'preusmeritev'],
        'sli': [u'weiterleitung'],
        'sq': [u'ridrejto'],
        'sr': [u'преусмери', u'преусмери'],
        'sr-ec': [u'преусмери'],
        'sr-el': [u'preusmeri'],
        'srn': [u'stir', u'doorverwijzing'],
        'stq': [u'weiterleitung'],
        'su': [u'alih'],
        'sv': [u'omdirigering'],
        'szl': [u'patrz', u'przekieruj', u'tam'],
        'ta': [u'வழிமாற்று'],
        'te': [u'దారిమార్పు'],
        'th': [u'เปลี่ยนทาง'],
        'tr': [u'yönlendirme'],
        'tt': [u'yünältü'],
        'tt-latn': [u'yünältü'],
        'tt-cyrl': [u'перенаправление', u'перенапр'],
        'ty': [u'redirection'],
        'udm': [u'перенаправление', u'перенапр'],
        'uk': [u'перенаправлення', u'перенаправление', u'перенапр'],
        'vec': [u'rinvia', u'rinvio'],
        'vep': [u'suuna'],
        'vi': [u'đổi', u'đổi'],
        'vls': [u'doorverwijzing'],
        'vro': [u'saadaq', u'suuna'],
        'wa': [u'redirection'],
        'wo': [u'redirection'],
        'yi': [u'ווייטערפירן', u'הפניה'],
        'zea': [u'doorverwijzing']
    }

    # So can be pagename code
    pagename = {
        'bg': [u'СТРАНИЦА'],
        'he': [u'שם הדף'],
        'kk': [u'БЕТАТАУЫ'],
        'nn': ['SIDENAMN', 'SIDENAVN'],
        'ru': [u'НАЗВАНИЕСТРАНИЦЫ'],
        'sr': [u'СТРАНИЦА'],
        'tt': [u'BİTİSEME']
    }

    pagenamee = {
        'he': [u'שם הדף מקודד'],
        'kk': [u'БЕТАТАУЫ2'],
        'nn': ['SIDENAMNE', 'SIDENAVNE'],
        'ru': [u'НАЗВАНИЕСТРАНИЦЫ2'],
        'sr': [u'СТРАНИЦЕ']
    }

    def pagenamecodes(self, code):
        pos = ['PAGENAME']
        pos2 = []
        if code in self.pagename:
            pos = pos + self.pagename[code]
        elif code == 'als':
            return self.pagenamecodes('de')
        elif code == 'bm':
            return self.pagenamecodes('fr')
        for p in pos:
            pos2 += [p, p.lower()]
        return pos2

    def pagename2codes(self, code):
        pos = ['PAGENAME']
        pos2 = []
        if code in self.pagenamee:
            pos = pos + self.pagenamee[code]
        elif code == 'als':
            return self.pagename2codes('de')
        elif code == 'bm':
            return self.pagename2codes('fr')
        for p in pos:
            pos2 += [p, p.lower()]
        return pos2

    # Methods
    def protocol(self, code):
        """
        Can be overridden to return 'https'.
        Other protocols are not supported.
        """
        return 'http'

    def hostname(self, code):
        """The hostname to use for standard http connections."""
        return self.langs[code]

    def scriptpath(self, code):
        """The prefix used to locate scripts on this wiki.

        This is the value displayed when you enter {{SCRIPTPATH}} on a
        wiki page (often displayed at [[Help:Variables]] if the wiki has
        copied the master help page correctly).

        The default value is the one used on Wikimedia Foundation wikis,
        but needs to be overridden in the family file for any wiki that
        uses a different value.

        """
        return '/w'

    def path(self, code):
        return '%s/index.php' % self.scriptpath(code)

    def querypath(self, code):
        return '%s/query.php' % self.scriptpath(code)

    def apipath(self, code):
        return '%s/api.php' % self.scriptpath(code)

    def nicepath(self, code):
        return '/wiki/'

    def dbName(self, code):
        # returns the name of the MySQL database
        return '%s%s' % (code, self.name)

    # Which version of MediaWiki is used?
    def version(self, code):
        """Return MediaWiki version number as a string."""
        # Don't use this, use versionnumber() instead. This only exists
        # to not break family files.
        return '1.13alpha'

    def versionnumber(self, code):
        """Return an int identifying MediaWiki version.

        Currently this is implemented as returning the minor version
        number; i.e., 'X' in version '1.X.Y'

        """
        R = re.compile(r"(\d+).(\d+)")
        M = R.search(self.version(code))
        if not M:
            # Version string malformatted; assume it should have been 1.10
            return 10
        return 1000 * int(M.group(1)) + int(M.group(2)) - 1000

    def page_action_address(self, code, name, action):
        return '%s?title=%s&action=%s&useskin=monobook' % (self.path(code), name, action)

    def put_address(self, code, name):
        return '%s?title=%s&action=submit&useskin=monobook' % (self.path(code), name)

    def get_address(self, code, name):
        return '%s?title=%s&redirect=no&useskin=monobook' % (self.path(code), name)

    # The URL to get a page, in the format indexed by Google.
    def nice_get_address(self, code, name):
        return '%s%s' % (self.nicepath(code), name)

    def edit_address(self, code, name):
        return '%s?title=%s&action=edit&useskin=monobook' % (self.path(code), name)

    def purge_address(self, code, name):
        return '%s?title=%s&redirect=no&action=purge&useskin=monobook' % (self.path(code), name)

    def references_address(self, code, name):
        return '%s?title=%s:Whatlinkshere&target=%s&limit=%d&useskin=monobook' % (self.path(code), self.special_namespace_url(code), name, config.special_page_limit)

    def upload_address(self, code):
        return '%s?title=%s:Upload&useskin=monobook' % (self.path(code), self.special_namespace_url(code))

    def double_redirects_address(self, code, default_limit = True):
        if default_limit:
            return '%s?title=%s:DoubleRedirects&useskin=monobook' % (self.path(code), self.special_namespace_url(code))
        else:
            return '%s?title=%s:DoubleRedirects&limit=%d&useskin=monobook' % (self.path(code), self.special_namespace_url(code), config.special_page_limit)

    def broken_redirects_address(self, code, default_limit = True):
        if default_limit:
            return '%s?title=%s:BrokenRedirects&useskin=monobook' % (self.path(code), self.special_namespace_url(code))
        else:
            return '%s?title=%s:BrokenRedirects&limit=%d&useskin=monobook' % (self.path(code), self.special_namespace_url(code), config.special_page_limit)

    def random_address(self, code):
        return "%s?title=%s:Random&useskin=monobook" % (self.path(code), self.special_namespace_url(code))

    def randomredirect_address(self, code):
        return "%s?title=%s:RandomRedirect&useskin=monobook" % (self.path(code), self.special_namespace_url(code))

    def allmessages_address(self, code):
        return "%s?title=%s:Allmessages&ot=html&useskin=monobook" % (self.path(code), self.special_namespace_url(code))

    def login_address(self, code):
        return '%s?title=%s:Userlogin&useskin=monobook' % (self.path(code), self.special_namespace_url(code))

    def captcha_image_address(self, code, id):
        return '%s?title=%s:Captcha/image&wpCaptchaId=%s&useskin=monobook' % (self.path(code), self.special_namespace_url(code), id)

    def watchlist_address(self, code):
        return '%s?title=%s:Watchlist/edit&useskin=monobook' % (self.path(code), self.special_namespace_url(code))

    def contribs_address(self, code, target, limit=500, offset=''):
        return '%s?title=%s:Contributions&target=%s&limit=%s&offset=%s&useskin=monobook' % (self.path(code), self.special_namespace_url(code), target, limit, offset)

    def move_address(self, code):
        return '%s?title=%s:Movepage&action=submit&useskin=monobook' % (self.path(code), self.special_namespace_url(code))

    def delete_address(self, code, name):
        return '%s?title=%s&action=delete&useskin=monobook' % (self.path(code), name)

    def undelete_view_address(self, code, name, ts=''):
        return '%s?title=%s:Undelete&target=%s&timestamp=%s&useskin=monobook' % (self.path(code), self.special_namespace_url(code), name, ts)

    def undelete_address(self, code):
        return '%s?title=%s:Undelete&action=submit&useskin=monobook' % (self.path(code), self.special_namespace_url(code))

    def protect_address(self, code, name):
        return '%s?title=%s&action=protect&useskin=monobook' % (self.path(code), name)

    def unprotect_address(self, code, name):
        return '%s?title=%s&action=unprotect&useskin=monobook' % (self.path(code), name)

    def block_address(self, code):
      return '%s?title=%s:Blockip&action=submit&useskin=monobook' % (self.path(code), self.special_namespace_url(code))

    def unblock_address(self, code):
      return '%s?title=%s:Ipblocklist&action=submit&useskin=monobook' % (self.path(code), self.special_namespace_url(code))

    def blocksearch_address(self, code, name):
      return '%s?title=%s:Ipblocklist&action=search&ip=%s&useskin=monobook' % (self.path(code), self.special_namespace_url(code), name)

    def linksearch_address(self, code, link, limit=500, offset=0):
        return '%s?title=%s:Linksearch&limit=%d&offset=%d&target=%s&useskin=monobook' % (self.path(code), self.special_namespace_url(code), limit, offset, link)

    def version_history_address(self, code, name, limit = config.special_page_limit):
        return '%s?title=%s&action=history&limit=%d&useskin=monobook' % (self.path(code), name, limit)

    def export_address(self, code):
        return '%s?title=%s:Export&useskin=monobook' % (self.path(code), self.special_namespace_url('_default'))

    def query_address(self, code):
        return '%s?' % self.querypath(code)

    def api_address(self, code):
        return '%s?' % self.apipath(code)

    def search_address(self, code, query, limit=100, namespaces = None):
        """
        Constructs a URL for searching using Special:Search
        'namespaces' may be an int or a list; an empty list selects
        all namespaces.  Defaults to namespace 0
        """
        namespace_params = ''
        if namespaces is not None:
            if isinstance(namespaces, int):
                namespace_params = "&ns%d=1" % namespaces
            elif isinstance (namespaces, list):
                if len(namespaces) == 0:
                    # add all namespaces
                    namespaces = self.namespaces.keys()
                for i in namespaces:
                    if i >= 0:
                        namespace_params = namespace_params + '&ns%d=1' % i

        return "%s?title=%s:Search&search=%s&limit=%d%s&fulltext=1&useskin=monobook" % (self.path(code),
                                                            self.special_namespace_url(code),
                                                            query,
                                                            limit,
                                                            namespace_params)

    def allpages_address(self, code, start, namespace = 0):
        if self.version(code)=="1.2":
            return '%s?title=%s:Allpages&printable=yes&from=%s&useskin=monobook' % (
                self.path(code), self.special_namespace_url(code), start)
        else:
            return '%s?title=%s:Allpages&from=%s&namespace=%s&useskin=monobook' % (
                self.path(code), self.special_namespace_url(code), start, namespace)

    def log_address(self, code, limit=50, mode = '', user = ''):
        return "%s?title=Special:Log&type=%s&user=%s&page=&limit=%d&useskin=monobook" % (self.path(code), mode, user, limit)

    def newpages_address(self, code, limit=50, namespace=0):
        return "%s?title=%s:Newpages&limit=%d&namespace=%s&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit, namespace)

    def longpages_address(self, code, limit=500):
        return "%s?title=%s:Longpages&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def shortpages_address(self, code, limit=500):
        return "%s?title=%s:Shortpages&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def categories_address(self, code, limit=500):
        return "%s?title=%s:Categories&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def unusedfiles_address(self, code, limit=500):
            return "%s?title=%s:Unusedimages&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def deadendpages_address(self, code, limit=500):
        return "%s?title=%s:Deadendpages&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def ancientpages_address(self, code, limit=500):
        return "%s?title=%s:Ancientpages&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def lonelypages_address(self, code, limit=500):
        return "%s?title=%s:Lonelypages&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def protectedpages_address(self, code, limit=500):
        return "%s?title=%s:ProtectedPages&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def unwatchedpages_address(self, code, limit=500):
        return "%s?title=%s:Unwatchedpages&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def uncategorizedcategories_address(self, code, limit=500):
        return "%s?title=%s:Uncategorizedcategories&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def uncategorizedimages_address(self, code, limit=500):
        return "%s?title=%s:Uncategorizedimages&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def uncategorizedpages_address(self, code, limit=500):
        return "%s?title=%s:Uncategorizedpages&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def unusedcategories_address(self, code, limit=500):
        return "%s?title=%s:Unusedcategories&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def withoutinterwiki_address(self, code, limit=500):
        return "%s?title=%s:Withoutinterwiki&limit=%d&useskin=monobook" % (self.path(code), self.special_namespace_url(code), limit)

    def code2encoding(self, code):
        """Return the encoding for a specific language wiki"""
        return 'utf-8'

    def code2encodings(self, code):
        """Return a list of historical encodings for a specific language
           wiki"""
        return self.code2encoding(code),

    def __cmp__(self, otherfamily):
        try:
            return cmp(self.name, otherfamily.name)
        except AttributeError:
            return cmp(id(self), id(otherfamily))

    def __hash__(self):
        return hash(self.name)

    def RversionTab(self, code):
        """Change this to some regular expression that shows the page we
        found is an existing page, in case the normal regexp does not work."""
        return None

    def has_query_api(self, code):
        """Is query.php installed in the wiki?"""
        return False

    def shared_image_repository(self, code):
        """Return the shared image repository, if any."""
        return (None, None)

    def server_time(self):
        """Returns a datetime object representing server time"""
        # TODO : If the local computer time is wrong, result wll be wrong
        return datetime.utcnow() + self.servergmtoffset

    def isPublic(self):
        """Does the wiki require logging in before viewing it ?"""
        return True

    def post_get_convert(self, site, getText):
        """Does a conversion on the retrieved text from the wiki
        i.e. Esperanto X-conversion """
        return getText

    def pre_put_convert(self, site, putText):
        """Does a conversion on the text to insert on the wiki
        i.e. Esperanto X-conversion """
        return putText
